中文乱码问题解决
1.?post方式提交的数据 采用request.setCharacterEncoding(“gbk”);
?get提交的数据 在tomcat 目录下的conf中server.xml中元素<Connector>中增加属性: useBodyEncodingForURI="true",则1中的方法对get方式提交的数据也有效
2.?通用方法 new String(str.getBytes(“iso-8859-1”),”gbk”)
?
以后解决乱码问题:首先将tomcat/conf/server.xml文件中的<Connector>中增加属性: useBodyEncodingForURI="true",记住这个<Connector>指的是tomcat修改端口的元素
加上这句话以后对于get或者是post的提交方式 request.setCharacterEncoding("UTF-8");都是通用的
如果说偶尔会发生加上上面这句话 有些中文问题然后乱码,用最直接的方法new String(str.getBytes(“iso-8859-1”),”gbk”)
?
完美解决乱码问题:第一步,将tomcat/conf/server.xml文件中<Connector>中增加属性: useBodyEncodingForURI="true",这样对于get或者post的提交方式? request.setCharacterEncoding("UTF-8");都是通用的
第二步:写一个编码集过滤器? 将工程下面所有的请求都要先执行过滤器里面的代码(request.setCharacterEncoding("UTF-8");)然后再继续执行之前的请求
?
过滤器的写法:
?1.创建一个java类 实现javax.servlet.Filter这个接口
?2.在web.xml文件进行过滤器的配置 通常情况过滤器的配置写到web.xml文件的上面(servlet的上面)