日期:2014-05-16  浏览次数:20698 次

java程序移植到linux上中文乱码处理问题

1一般在windows下的Eclipse写的代码,默认编码方式 为GBK而linux下为utf-8,所以需要修改linux的默认编码:

修改Linux系统的默认编码
? ?

<wbr>vi<wbr>/etc/sysconfig/i18n</wbr></wbr>

<wbr></wbr>

<wbr> 在vi编辑中,修改<wbr> LANG="zh_CN.GB2312" <wbr><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>或者 <wbr> LANG="zh_CN.GBK" <wbr><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>或者 <wbr>LANG="zh_CN.18030"<wbr><wbr><br><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr>以上三种编码是LINUX系统里的三种中文编码。</wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr>三种中文编码有什么不同呢?</wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr>答:从上到下,依次扩充。也就是说zh_CN.18030的编码是最完善的。</wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr>所以一般把LANG="zh_CN.18030"就可以正常显示中文了!</wbr></wbr></wbr></wbr>

另:来源于网络

?

解决乱码分两种,一种是解决在Linux下,采用其内置查看器查看的时候,要能够正确显示中文,这里就需要设置其默认编码,我在本机的ECLIPSE默认的编码为GBK,在Linux下,用其自带的编码器查看就不正确,显示乱码,这说明RG6中的默认编码不为GBK,默认的应该是UTF-8,这里就要设置其默认编码为GBK,这里可以在两个地方设置环境变量,一个是".bash_profile"(注:此在root的根目录下,通常是隐藏的,在命令模式下可以编码,如打入命令:"vi .bash_profile",该文件bash_profile是每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。相当于WINDOWS中的用户环境变量一样);另外一个是".profile",在/etc下,相当于WINDOWS中的系统变量存放处,所以这里我们设置任意一个地方都可以的。这里例出修改"/root/.bash_profile":

1.vi .bash_profile(/root下 ),进入vi编辑器后,按i进入插入模式即可编辑

2、在最后加上如下几句,表示设置一些默认编码为GBK:

export LC_ALL=zh_CN.GBK

export LC_CTYPE=zh_CN.GBK

export LANG=zh_CN.GBK

3、保存该文件。先按ecs,再输入":wq!",因为".bash_profile"为只读的,最后加"!"表示强制执行

4、要使配置生效,退出vi后,再输入命令". .bash_profile",命令的读法为"点空格点bash_profile",再次双击到JAVA文件中上,即可正常显示中文了,不过前提是在WINDOWS下的ECLIPSE的默认编码为GBK,其它编码类似。

以上只是解决了可以在Linux中双击查看不会出现乱码,但是在ECLIPSE中查看还是乱码,可以通过

“window->preferences...>workspace”的右中部有显示编码的部份,查以查看到其默认编码为UTF-8,但是我们点下面的OTHER下拉框却没有GBK,最后发觉原来那个框是可以输入的,输入GBK,点确定,中文显示正常,搞定。


2如何使用了log4j日志有时也会有中文乱码,有一种解决办法就是,在eclipse下重新编译log4j.properties,需要先修改文件的编码格式为GBK

?