一、前言
SpringBoot用惯了,突然想起回头来手动配置一下Spring+SpringMVC+JPA,没想到在乱码这卡住了。唉,乱码问题的原因太多了。IDEA上手动集成框架是第一次遇到,记录下这个blog。【自动化配置项目(SpringBoot)用多了还是得多想想为什么。】
二、idea 中配置 Tomcat 后启动服务,输出打印日志乱码问题
解决办法:
①、打开安装idea文件路径,在bin目录下,找到下面两个文件
②、使用编辑器,在文件类最下方,添加代码 -Dfile.encoding=UTF-8,例如:
③、重启idea,成功。
三、直接使用windows打开 startup.bat 文件,tomcat9 会重新打开一个cmd窗口显示日志,输出日志是乱码:
解决办法:
1、编辑 tomcat\bin 目录下的 startup.bat 文件
将 call "%EXECUTABLE%" start %CMD_LINE_ARGS% 修改为 call "%EXECUTABLE%" run %CMD_LINE_ARGS% ,如图:
2、修改 catalina.bat 文件
将 set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS%" 修改为 set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS% -Dfile.encoding=UTF-8" ,如图:
3、这里还不算完,因为直接打开 startup.bat 文件,执行的时候是 windows 的 cmd 窗口,窗口的默认编码是 gbk 编码号是 936,如图:
解决办法:
①、运行(win+r) --> 输入 regedit 打开注册表
②、找到 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor]
③、右键
④、输入数值名称 autorun ;输入数值数据 chcp 65001。点击确定。
4、重启tomcat,成功!
注意:改成chcp 65001 之后,windows再执行其他的命令的时,有可能会出现一些问题。比如我们执行解锁 vmware 安装 mac 系统时执行 win-install.cmd,可能会出现 unknown cp65001 类型的错误。这个时候我们可以在执行 win-install.cmd 之前将编码格式换回来:chcp 936 之后再执行命令就可以。
原文:https://blog.csdn.net/weixin_38374974/article/details/86146281