product.setProduct_content(new String(product.getProduct_content().getBytes("ISO-8859-1"), "UTF-8"));
product.setProduct_explain(new String(product.getProduct_explain().getBytes("ISO-8859-1"), "UTF-8"));
product.setProduct_gjz(new String(product.getProduct_gjz().getBytes("ISO-8859-1"), "UTF-8"));
product.setProduct_title(new String(product.getProduct_title().getBytes("ISO-8859-1"), "UTF-8"));转码代码,
IE下转码后就全是  □□□ 什么的, 火狐转码后就是中文没问题了....这是为什么啊我晕..以前一直用火狐调 没仔细看IE,最近搞上传才开始测试IE的(因为毕竟后台肯定是要在IE下跑的。其他浏览器都不用兼容的...)
求解了

解决方案 »

  1.   

    可能是浏览器发送请求的时候,URL编码不是utf-8,所以出现乱码。
    不知道你的URL编码处理过没有,用JS的函数:encodeURI
      

  2.   

    回1楼:
    从来没有用过JS的这个方法,具体该如何使用 我试试?
    回2楼:
    web.xml里有过滤器:
    <filter>
       <filter-name>encodingFilter</filter-name>
       <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
       <init-param>
       <param-name>encoding</param-name>
       <param-value>GBK</param-value>
       </init-param>
       <init-param>
       <param-name>forceEncoding</param-name>
       <param-value>true</param-value>
       </init-param>
      </filter>
      <filter-mapping>
       <filter-name>encodingFilter</filter-name>
       <url-pattern>/*</url-pattern>
      </filter-mapping>
    回3楼:
    现在是要从JS获得数据传到action里保存到数据,所以还没轮到从数据库读数据呢...JS没有乱码,ajax的post提交到action后就乱码了,但是如果用火狐浏览器的话  我的转码就可以转成中文,但如果用IE8浏览器的话 我的转码转完后依然是乱码.
      

  3.   

    JS的内置函数encodeURI(),这个函数把URI字符串采用UTF-8编码格式转化成escape格式的字符串,如果不使用该函数,将由浏览器进行默认的编码,但这是一种不能预测的行为。
    把中文参数传递给encodeURI,比如:
    "name=" + encodeURI(${name})
      

  4.   

    你修改tomcate里面的$\conf\server.xml看看
     <Connector port="8080" maxHttpHeaderSize="8192"
                   maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                   enableLookups="false" redirectPort="8443" acceptCount="100"
                   connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8" />
      

  5.   

    搞定了,JS在拼URL传值的时候用 encodeURI(encodeURI(gjz)), 转码2次 在action转码一次
    product.setProduct_content(URLDecoder.decode(product.getProduct_content(),"UTF-8"));
    在这里留下把,免得以后忘记了..