今天将一个Windows平台下的J2EE项目移植到Redhat Enterprise Linux 4中,由CMS程序生成的首页却出现了乱码。
这个页面中标记了
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
而在浏览器中,gb2312编码显示为乱码,手动切换到utf-8则显示正常。
导致这一错误的原因在于Redhat默认的字符集为zh_CN.UTF-8,
解决的方法有2种:
1、 修改页面的字符集
2、修改操作系统的字符集
这里我选择修改系统字符集,有3种方式:
全用户永久生效:
修改/etc/sysconfig/i18n单用户永久生效:
cp /etc/sysconfig/i18n $HOME/.i18n
修改 $HOME/.i18n 文件临时生效:
export LANG=zh_CN.GB2312
export LC_ALL=zh_CN.GB2312
PS. 如果系统字符集是WEB应用的超集,也是可以的。
例如系统字符集为zh_CN.GB18030,GB2312就可以无障碍正常显示。
Related posts: