中文乱码问题(页面乱码,eclipse乱码,请求响应乱码)
1、首先在开发工具eclipse中设置工作空间和文件编码格式,详情参见 http://www.cnblogs.com/lixiang1993/p/7345161.html
2、在eclipse的安装根目录下,打开eclipse.ini文件,在文件最后一行添加 “ -Dfile.encoding=utf-8 ” ,这样在eclipse中创建的文件就是以utf-8编码保存。
3、请求乱码问题
(1)解决get请求乱码问题:在tomcat根目录下,进入conf文件夹,打开server.xml文件,搜索Connector,加入属性URIEncoding,属性值为UTF-8,如图,
注:文件中有多个Connector,注意选择。
(2)解决post请求乱码的问题
①在接收参数前,对其编码,
request.setCharacterEncoding("utf-8");
②ssm框架中,加入post乱码过滤器
<!-- post乱码过虑器 --> <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>utf-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
4、响应乱码问题
传递参数前,对其编码,
response.setContentType("text/html;charset=utf-8");
或者
response.setHeader("Content-Type","text/html;charset=utf8");
response.setCharacterEncoding("utf-8");
或者在 web.xml 中配置(在 post 乱码过滤器中在配置一个 init-param)
1 <!-- post乱码过虑器 --> 2 <filter> 3 <filter-name>CharacterEncodingFilter</filter-name> 4 <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 5 <!-- 处理请求乱码 --> 6 <init-param> 7 <param-name>encoding</param-name> 8 <param-value>utf-8</param-value> 9 </init-param> 10 <!-- 处理响应乱码 --> 11 <init-param> 12 <param-name>forceEncoding</param-name> 13 <param-value>true</param-value> 14 </init-param> 15 </filter> 16 <filter-mapping> 17 <filter-name>CharacterEncodingFilter</filter-name> 18 <url-pattern>/*</url-pattern> 19 </filter-mapping>
不想学好基础的程序员不是好的程序员。