问题一、tomcat执行后控制台输出乱码
解决方案:在控制台输出
彻底解决Tomcat控制台输出中文乱码
1修改tomcat
tomcat根目录\conf的web.xml,在100行左右,改成
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>fileEncoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
tomcat根目录\conf的server.xml,在70行左右,改成
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />
2idea统一utf8编码

-Dfile.encoding=utf-8


3spring自带乱码解决方案
在前面两种方法是过之后,我的控制台输出中文的时候还是乱码,于是在网上查阅资料,发现spring有自己的乱码解决方案,于是将下面的代码复制到web.xml中,乱码问题就解决了。
<filter>
<filter-name>encoding</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>encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
问题2 浏览器访问页面index.jsp出现乱码

解决方案
问题3 tomcat的doPost请求展示乱码
问题描述:服务器使用tomcat 收到客户端的post请求,因为传输的流所以在转译时中文会出现错误,对此解决方案采取在方法里设置流的编码
request.setCharacterEncoding("UTF-8");
访问的页面上如果时utf-8则这里设置utf-8即可;
网友评论