1.conf/server.xml中Connector元素中增加URIEncoding="UTF-8
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
2.bin/catalina.bat中找到对应行增加-Dfile.encoding=UTF-8
set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS% -Dfile.encoding=UTF-8"
3.bin/startup.bat中找到对应行,将start改为run
call "%EXECUTABLE%" run %CMD_LINE_ARGS%
4.修改cmd窗口的编码格式
因为直接打开 startup.bat 文件,执行的时候是 windows 的 cmd 窗口,窗口的默认编码是 gbk,所以控制台还是会有乱码
运行(win+r) -> 输入 regedit 打开注册表
找到 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor]
在该目录上右键 -> 新建 -> 字符串值
重命名新建文件为autorun,双击修改属性数值数据为chcp 65001
安装目录conf下logging.properties中添加
java.util.logging.ConsoleHandler.encoding = GBK(针对windows,linux不要添加)
这样修改过后,请求和控制台的乱码都没有了.