说用-encoding 来指定。注意:如果源程序中含有中文字符,而你用-encoding 指定为其它的编码字符,显然是要 出错的。 用-encoding 指定源文件的编码方式为 GBK 或 gb2312, 无论我们在什么系统上编译含有中文字符的 JAVA 源程序都不会有问题,它都会正确地将中文转化为 UNICODE 存储在 class 文件中。 然后, 我们必须清楚, 几乎所有的 WEB 容器在其内部默认的字符编码格式都是以 ISO-8859-1 为默认值 的,同时,几乎所有的浏览器在传递参数时都是默认以 UTF-8 的方式来传递参数的。所以,虽然我们的 Java 源 文件在出入口的地方指定了正确的编码方式,但其在容器内部运行时还是以 ISO-8859-1 来处理的。
4、中文问题的分类及其建议最优解决办法 、 了解以上 JAVA 处理文件的原理之后,我们就可以提出了一套建议最优的解决汉字问题的办法。 我们的目标是: 我们在中文系统中编辑的含有中文字符串或进行中文处理的 JAVA 源程序经编译后可以 移值到任何其它的操作系统中正确运行, 或拿到其它操作系统中编译后能正确运行, 能正确地传递中文和英文参 数,能正确地和数据库交流中英文字符串。 我们的具体思路是:在 JAVA 程序转码的入口和出口及 JAVA 程序同用户有输入输出转换的地方限制编 码方法使之正确即可。 具体解决办法如下: 1、 针对直接在 console 上运行的类 对于这种情况, 我们建议在程序编写时, 如果需要从用户端接收用户的可能含有中文的输入或含有中文 的输出,程序中应该采用字符流来处理输入和输出,具体来说,应用以下面向字符型节点流类型: 对文件:FileReader,FileWrieter 其字节型节点流类型为:FileInputStream,FileOutputStream 对内存(数组) :CharArrayReader,CharArrayWriter 其字节型节点流类型为:ByteArrayInputStream,ByteArrayOutputStream 对内存(字符串) :StringReader,StringWriter 对管道:PipedReader,PipedWriter 其字节型节