linux 解决乱码:LANG=C

linux 解决乱码:LANG=C,第1张

环境变量LANG,LANG:language,语言对应的环境变量,不同语言又对应的是不同的字符编码方式

比如我们最常见到的编码方式:utf、utf-8、gb2312、gbk、big5等

控制编码格式文件: /etc/sysconfig/i18n

默认值:

LANG="en_US.UTF-8"

SYSFONT="latarcyrheb-sun16"

查看当前LANG

查看所有语言包

设置LANG命令

例如,(C对应ASCII编码)

bashrc: export LANG=C

cshrc: setenv LANG C

问题:使用一台Linux系统的机器,终端总是显示有乱码,不是中文乱码,看起来像是英文乱码,我这强迫症又受不了了

解决方案:

Linux字符编码默认为UTF-8,如果出现英文乱码有可能是系统设置的编码方式为GBK。

设置locale的根本就是设置一组总共12个LC开头的变量,不包括LANG和LC_ALL。

优先 级:LC_ALL >LC_* >LANG

可以看出原系统设置的为中文字体显示和运行的语言环境,所有的设置都是使用的 zh_CN.gbk ,因中英文字符编码方式不同,可能造成英文字符或者空格显示有乱码。

5.退出后再次查看locale(再次登录才生效)

乱码的字符消失了。locale转变为:

要正确,需要你的c程序的原文件的编码格式跟你的系统默认的语言编码一致。

比如,一般ubuntu语言支持都是utf-8

你可以把c程序的原文件的编码格式设成utf-8试一下。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8732957.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-20
下一篇 2023-04-20

发表评论

登录后才能评论

评论列表(0条)

保存