原文网址:https://www.youyong.top/article/1158d20f2a18
在本地接受中文的时候,出现了乱码,于是转码,好了,可把代码发布到线上,又出现了乱码
原文网址:https://www.youyong.top/article/1158d20f2a18
在本地接受中文的时候,出现了乱码,于是转码,好了,可把代码发布到线上,又出现了乱码
原文网址:https://www.youyong.top/article/1158d20f2a18
本地出现乱码的时候,就用下列的方法转了以下码:
destination=new String(destination.getBytes("iso8859-1"),"utf-8");
代码发到到线上,又出现了乱码, 把转码去掉就好了。
于是用下列方法,获取一下java文件的编码
System.getProperty("file.encoding")
结果:
本地:GBK
线上:UTF-8
这样就可以解释,为什么本地需要转码,而线上不需要转码了。
线上代码和本地代码是一样的,于是从web服务器tomcat入手。
对比了线上和线下,tomcat的配置文件web.xml 和 server.xml
在server.xml中发现了一些区别,线上的有 URIEncoding="UTF-8" ,而本地的没有。

于是在本地的server.xml加上这个,重启tomcat就好了。
作者声明:本篇文章系本人原创,欢迎分享,但未经许可,谢绝转载。
共 0 条留言