解决Unix环境下java中文乱码

来源:互联网 发布:csgo淘宝买皮肤 编辑:程序博客网 时间:2024/06/05 02:09

JVM

JVM启动后,JVM会设置一些系统属性以表明JVM的缺省区域。

user.language,user.region,file.encoding等。 可以使用System.getProperties()详细查看所有的系统属性。

如在英文操作系统(UNIX)下,可以使用如下属性定义强制指定JVM为中文环境 -Dclient.encoding.override=GBK -Dfile.encoding=GBK -Duser.language=zh -Duser.region=CN

常见问题

JVM下,用System.out.println不能正确打印中文,显示为???

System.out.printlnPrintStream,它采用jvm缺省字符集进行转码工作,如果jvm的缺省字符集为iso8859-1,则中文显示会有问题。此问题常见于Unix下,jvm的区域没有明确指定的情况。

 

B/S程序可以在服务器设置启动的初始化参数,下面以tomcat为例:

在bin/catalina.sh添加以下内容:

JAVA_OPTS=-Dfile.encoding=GBK

原创粉丝点击