项目中因为编码问题造成的问题实在让人头疼,在调试代码的时候,博主有一个post请求调用外部接口的功能,在单元测试中能调通,但是在tomcat容器下,post请求中的参数就乱码了。找了半天,终于找到了原因分享一下 。
首先统一所有项目,文件的编码格式都为utf-8
其次,在server.xml文件里面设置端口的编码为utf-8,这是最常见的设置,并未对在下的代码生效。
于是继续调试,怀疑可能是jvm参数的配置问题,于是在bin 目录下的catalina 配置文件中,添加以下设置
set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS% -Dfile.encoding=UTF-8"
果然解决了问题 ,不过tomcat控制台却乱码了如下
查看控制台信息 发现是因为编码冲突导致的,控制台为GBK ,于是乱码
接下来需要修改cmd命令行的编码,打开注册表,找到HKEY_CURRENT_USER→Console→Tomcat(如果你改了tomcat的标题栏,这里就是你打开的命令窗口的名字),找到CodePage项,没有则创建,更改值为十进制的65001,点击确定。
问题解决
--------------------- 作者:碌卡inspiron 来源:CSDN 原文:https://blog.csdn.net/weixin_41271363/article/details/80459856 版权声明:本文为博主原创文章,转载请附上博文链接!