写一个后台API应用时候遇到了乱码问题,本地tomcat启动正常,但是部署到Paas容器后就出现了中文乱码。
解决方式1:
修改Tomcat服务器编码格式,使用Dockerfile文件的形式配置:
ENV JAVA_OPTS="Dfile.encode=gbk"
结果:
乱码问题解决了,但是改变了整个应用的编码格式,会连带引起一些其他的问题
解决方式2:
对出现中文乱码的地方做转码处理,将中文str.getBytes("GBK")的方式做编码转换,然后在接收端new String(bytes,"GBK")做接受处理
关于编码格式记录一句话:
字符串在转化成字节数组前是不存在编码格式的,能理解这句话编码格式之间的转换就不会疑惑