这次项目从windows 迁移到linux系统下面,系统平台是redhat AS4,web服务器是weblogic8.1 sp6。项目迁移过去后要装载HTML文件作为模板,然后通过一个prase类将这个html文件解析成一个字符串,同时获取了里面各个字段信息。然后再把这个字符串通过out.println();在前端打印出来。但是在前端显示的时候html文件中的汉字全变成了??
后来在网上找了各种解决乱码的办法,全部没有用。后来查看用户的环境信息(命令是set),发现他的LANG=zh_CN.UTF-8 将LANG改成zh_CN.GBK就解决了问题,重启机器(shutdown -r -t 5 now)因为我们项目里面的页面编码全部都配置为GBK的,不知道如果全配置为UTF8是否就不用修改这个环境参数了。有的时候并不是程序的问题,而是系统的问题了。
在/etc/sysconfig/i18n中修改LANG值,这是修改所有用户的,可以修改当前用户的,在$HOME/.bash_profile中修改,修改了当前用户的环境,需要重新su - xxxx登陆一次生效。