解决 Java 程序的乱码问题

来源:互联网 发布:java数组冒泡排序法 编辑:程序博客网 时间:2024/04/30 01:57
早上来上班,同事问在本机好好的 Java 程序,放到服务器上运行的时候,输出的中文字符总是显示乱码。我大致看了一下,猜测应该是 .java 文件编码和相关 Java 环境引起的问题。

同事的本地开发环境是 Windows,默认文件编码为 GBK,服务器为 Redhat Linux,默认文件编码为 ISO-8859-1,两种字符编码并非完全一致。如果要保证 Java 程序中的中文字符能够被正确输出,最好能够自己精确地指定相关的参数。在编译时,指定源文件所使用的字符编码:

javac encoding gbk ChineseString.java

若是利用 ant 编译,可以在 build.xml 中有 javac 的那一样指定 encoding 属性:

<javac srcdir="${src}" destdir="${build}" encoding="gbk" debug="off">

在运行时,修改 JVM 的环境变量,将 file.encoding 属性指定为 GBK:

java -Dfile.encoding=gbk ChineseString

按照以上步骤编辑运行,即可以避免 Java 程序在处理中文时常出现的乱码问题。