由于日常编写代码,都是使用UTF-8编码,而CMD默认是GBK编码,导致执行mvn命令时,出现中文乱码问题,而chcp
命令只在当次打开有效,每次打开都要重新切换代码页十分不便。
对于CMD,可以通过修改注册表的方式,永久修改默认代码页。打开注册表编辑器,定位到\HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe
,将其中的CodePage项修改为十进制的65001即可。
而使用Tomcat运行war包时,会发现日志中中文依旧是乱码,原因是Tomcat新窗口打开的命令行默认是GBK编码,同时本身的配置文件又指定输出编码为UTF-8,导致冲突。此时同样可以通过修改注册表来修改默认的编码。
打开注册表编辑器,定位到\HKEY_CURRENT_USER\Console
,和刚才的CMD项同级新增一项Tomcat,然后在其中新建一个DWORD值PageCode,值设为十进制的65001即可。