涉及到操作系统编码的一个问题

今日遇一问题,同一程序在本机windows上正常,在一个linux下则出现乱码。

程序中对一些数据进行了utf-8编码。

后来怀疑是该linux操作系统没有添加utf-8的支持,打开/etc/sysconfig/i18n文件,内容如下:

LANG="zh_CN.GB18030"

LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"

SUPPROTED="zh_CN.GB18030:zh_CN:zh"

SYSFONT="lat0-sun16"

扫描二维码关注公众号,回复: 1241904 查看本文章

SYSFONTACM="8859-15"


---》默认不支持utf-8编码!!!

添加utf-8支持,修改后如下:

LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN.GB18020:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="LAT0-SUN16"


使修改生效:source /etc/sysconfig/i18n 

查看当前系统语言环境:echo $LANG

问题解决。

--------------------------------------------------------------------------------------------------------
如果需要单独修改用户级别的编码,可以修改文件root/.bash_profile,该文件默认是隐藏的。
在该文件中添加下面两行语句:

LANG="zh_CN.UTF-8"
export LANG

然后通过source命令使其生效即可。

猜你喜欢

转载自huangqiqing123.iteye.com/blog/1757311