详解Linux中文乱码问题终极解决方法

2019-10-13 17:19:25王振洲

shell> vi /etc/sysconfig/i18n

将LANG="zh_CN.UTF-8"修改为:

LANG="zh_CN.GBK"

保存并关闭,运行下面的命令使配置生效:

shell> source /etc/sysconfig/i18n

将终端字符编码显示为简体中文:

shell> vi /etc/profile.d/chinese.sh

添加下面这行:

代码示例:

export LC_ALL=zh_CN.GBK
shell> source /etc/profile.d/Chinese.sh

附2,解决Linux操作系统下Java的中文乱码问题 。

在jdk15以后,只需在~/jre/lib/fonts/下建一个fallback目录,把你想在java中使用的字体烤贝到这个目录中即可

以下方法在fc6下测试通过,假设用户的jre路径为 /usr/java/jdk1.6.0_03/jre/

代码示例:

cd /usr/java/jdk1.6.0_03/jre/lib/fonts
sudo mkdir fallback

将C:WINDOWSFontssimsun.ttc拷贝到 /usr/java/jdk1.6.0_03/jre/lib/fonts/fallback文件夹内
export LC_ALL=zh_CN.GB2312;export LANG=zh_CN.GB2312是最有效的。

1.不管用那种ssh客户端,字体设定一定要设为可以显示中文的字体。

2.远程的locale一定要设置为LANG=zh_CN.UTF-8

修改/etc/profile

增加这一行

export LC_ALL=zh_CN.GBK

附3,SSH显示中文乱码问题

1)、打开/etc/sysconfig/i18n

设置为:

代码示例:

LANG="zh_CN.GB2312"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN.GB2312:zh_CN.UTF-8:zh:en_US.UTF-8:en_US:en:ja_JP.UTF-8:ja_JP:ja"
SYSFONT="lat0-sun16"
SYSFONTACM="8859-15"

其中LANG="zh_CN.GB2312" 是必须的(如果你不想让中文乱码的话!!!)

其它的可以按照自已的需求来改变。

2)、打开smb.conf

添加:

代码示例:

display charset=cp936
unix charset=cp936
doc charset=cp936