使用eclipse做项目时,经常会遇到乱码问题,总结一下:
1.eclipse本身的编码:
workspace的编码格式:Window-->Preferences-->General-->Workspace
项目默认的编码格式:项目右键-->Properties-->Resource
eclipse的项目中某种文件的编码格式:
eclipse的项目中的jar包编码格式:
2.前端文件的编码:
jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
html:
<head><meta http-equiv="content-type" content="text/html; charset=UTF-8"/></head>
3.tomcat服务编码:
处理get请求的编码
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>
处理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> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>characterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
4.ajax返回乱码:
<mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <constructor-arg value="UTF-8" /> </bean> </mvc:message-converters> </mvc:annotation-driven>
5.数据库编码以及连接数据库的编码:
jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8
6.使用 UTF-8 启动 Web Server(Tomcat):
Unix Like 配置 Tomcat
在 Tomcat 启动文件 catalina.sh 中加一个 -Dfile.encoding=UTF-8
JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8"
Windows 配置 Tomcat
set "JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF-8"