Linux读取本地文件部分字符乱码问题的解决

  批量新增信息的程序运行的环境是:Linux AS 2.1+Was5

  在把FTP上传上来的htm文件读到内存的过程中,这是JDK读本地文件的I/O操作,跟操作系统的encoding密切相关,经检查到Linux的操作系统默认设置的encoding是GB2312,这就导致了”—”符号用GB2312无法进行字节到字符的转换,导致”?”的出现。在测试的过程中试图修改程序的编码方式,实际测试是不起作用的,无论用字节流处理还是字符流处理,因为它是在I/O操作已经用了GB2312的编码方式读取了”—”之后进行处理的。

  后经测试修改了Linux系统的环境变量,将其encoding由GB2312改成GBK,”—”就能正常显示了。

  具体操作过程:以系统管理员用户登陆到linux系统,修改 .bash_profile,将以下两个参数的属性值由gb2312修改成GBK.如下:

  export LANG=zh_CN.GBK
  export LC_ALL=zh_CN.GBK

  然后重新启动WebSphere服务器即可。