当前位置: 代码迷 >> Java Web开发 >> 又是字符集的有关问题,GBK->UTF-8页面提交
  详细解决方案

又是字符集的有关问题,GBK->UTF-8页面提交

热度:426   发布时间:2016-04-17 12:14:41.0
又是字符集的问题,GBK->UTF-8页面提交
问题是这样的:
从一个GBK编码的页面,向一个UTF-8编码的应用提交表单;
UTF-8的应用中有request的过滤器,做了UTF-8的编码;
我现在想在UTF-8的应用中获得正确的提交值,
尝试了很多种组合还是不行,不知道各位有什么高见?

------解决方案--------------------
试下在传值的时候进行编码转换,getBytes...
------解决方案--------------------
new String(szSource.getbytes("GBK"),"UTF-8")
------解决方案--------------------
一:修改Tomcat目录下的conf文件中的server.xml文件中的<connector>标签,在<connector>添加属性:URIEncording=”UTF-8”

二:在项目中创建一个过滤器:Filter,继承java.servlet.filter,在类中的doFilter()方法中,首先修改前三个参数成:request,response,chain,在方法中添加:
Request.setEncording(“UTF-8”);
Chain.doFilter(request,response);

三:在项目中的web.xml中添加此过滤器配置路径,在根目录下添加:
<filter>
<filter-name>FilterEncording</ filter-name >
<filter-class>org.test.filter.filterEncording</filter-class>
</filter>
<filter-mapping>
<filter-name> FilterEncording </filter-name> *与上面的<filter-name>中的名字一样*
<url-pattern>/*</url- pattern > *表示对所有request传递的参数都使用此过滤器*
</filter-mapping>

------解决方案--------------------
一:修改Tomcat目录下的conf文件中的server.xml文件中的 <connector>标签,在 <connector>添加属性:URIEncording=”UTF-8” 

二:在项目中创建一个过滤器:Filter,继承java.servlet.filter,在类中的doFilter()方法中,首先修改前三个参数成:request,response,chain,在方法中添加: 
Request.setEncording(“UTF-8”); 
Chain.doFilter(request,response); 

三:在项目中的web.xml中添加此过滤器配置路径,在根目录下添加: 
<filter> 
<filter-name>FilterEncording </ filter-name > 
<filter-class>org.test.filter.filterEncording </filter-class> 
</filter> 
<filter-mapping> 
<filter-name> FilterEncording </filter-name> *与上面的 <filter-name>中的名字一样* 
<url-pattern>/* </url- pattern > *表示对所有request传递的参数都使用此过滤器* 
</filter-mapping> 



这个办法非常好.
  相关解决方案