最近tomcat突然在控制台输出乱码,各种乱码问题,查阅大量的资料,最终得以解决.
解决:
根据网上查阅的资料,进行以下的尝试
根据网上的资料,可能是windows的编码问题,于是乎;
chcp #查看当前cmd的编码格式
chcp 65001 #换成utf-8代码页
chcp 936 #换成默认的gbk
chcp 437 #美国英语
好像并没有啥用。。。。。<font color='red'>如果发现修改没有效果的小伙伴,在进行下一步尝试一定要先修改回去,再继续下面的尝试!</font>
因为tomcat的start.bat文件输出并没有乱码,于是乎,我感觉是idea中的编码没有设置好,做出如下设置:Settings/Editor/File Encodings/设置编码格式为UTF-8
Help->Edit Customer VM Options
中添加:-Dfile.encoding=UTF-8
在java Complier中设置Additional command line parameters的值,
-encoding=UTF-8
,很可惜还没生效
上述方案均尝试过了,任然没有解决我的问题;
于是乎:tomcat / conf / logging.properties下:
增加或修改参数?java.util.logging.ConsoleHandler.encoding = GBK
<font color='red'>如果你的控制台不是突然就出现乱码了,那么上述方式基本能解决你的问题。</font>
这里我发现我的环境是:此处已经是GBK了,于是乎控制台输出乱码的问题依旧没有解决,唉!
我稍微尝试了一下把此处的GBK修改为UTF-8,嘿!此时我的IDEA控制台输出乱码解决了!!!震惊!!!
但是!!!,我直接打开tomcat\bin\start.bat下的输出却出现了乱码!!我吐了,这两边的乱码不可兼顾。。。。。没办法,请教了老师,因为我的是突然出现的,应该是我不小心将哪里的编码修改了,我不知道。<font color='red'>这里提醒小伙伴修改后,发现不起作用一定要该回去,因为不知道底层的代码,只能这样慢慢尝试</font>
最后:重新安装了一个tomcat,问题解决了!!!,😵
解决:
<META http-equiv=Content-Type content="text/html;charset=utf-8">
<%home.php?mod=space&uid=402414 page contentType="text/html;charset=utf-8" language="java"%>
<!--中文乱码过滤器-->
<!--中文乱码过滤器-->
<filter>
<filter-name>encodingFilter</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>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/ssm?useUnicode=true&characterEncoding=UTF-8
URIEncoding="UTF-8"
)<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />
<Connector port="8009" protocol="AJP/1.3"
redirectPort="8443"
URIEncoding="UTF-8" />
上述添加头部的编码等等,均没有解决问题;于是乎;
-Dfile.encoding=UTF-8
,可惜没生效JAVA_TOOL_OPTIONS=-Dfile.encoding\=UTF-8
set JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF8