解决Centos7中使用CRT链接的时候中文字符乱码的问题:
0 |
[root@hz /]# export LC_ALL=en_US.UTF-8 |
思路一、
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
[root@hz /]# locale #默认当前语言环境 LANG=en_US.UTF-8 LC_CTYPE="C" LC_NUMERIC="C" LC_TIME="C" LC_COLLATE="C" LC_MONETARY="C" LC_MESSAGES="C" LC_PAPER="C" LC_NAME="C" LC_ADDRESS="C" LC_TELEPHONE="C" LC_MEASUREMENT="C" LC_IDENTIFICATION="C" LC_ALL=C [root@hz locales]# export LC_ALL=en_US.UTF-8 #LC_ALL它是一个宏,如果该值设置了,则该值会覆盖所有LC_*的设置值。注意,LANG的值不受该宏影响。C"是系统默认的locale,"POSIX"是"C"的别名。所以当我们新安装完一个系统时,默认的locale就是C或POSIX。 [root@hz locales]# locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL=en_US.UTF-8 [root@hz /]# locale -a | grep zh_* zh_CN zh_CN.gb18030 zh_CN.gb2312 zh_CN.gbk zh_CN.utf8 zh_HK zh_HK.big5hkscs zh_HK.utf8 zh_SG zh_SG.gb2312 zh_SG.gbk zh_SG.utf8 zh_TW zh_TW.big5 zh_TW.euctw zh_TW.utf8 |
思路二、
由于日志或者其他文件在存储过程中,可能一些意外的bug导致文件内容为二进制或者其他特殊字符导致的乱码 SourceByrd's Weblog-https://note.t4x.org/environment/config-lc-all-locale/
解决方法:SourceByrd's Weblog-https://note.t4x.org/environment/config-lc-all-locale/
# 一般适用于从win拷贝到linux系统,因为linux系统和win对回车、空格等不一致导致的一般可以这样解决,从linux到win可以使用命令unix2dos
0 [root@hz locales]# dos2unix filename.txt
# 使用crt或者xshell等工具乱码,可能的原因就是工具本身的字符集和系统的字符集不一致导致的,可以用思路一的方式排查
0 [root@hz locales]# export LC_ALL=en_US.UTF-8
# 日志存储过程中异常导致的问题SourceByrd's Weblog-https://note.t4x.org/environment/config-lc-all-locale/报错可能是类似于:Binary symbol 0x01 found at line 1,这样的乱码一般可以对文件进行切割,删除掉错误的行进行修复。 SourceByrd's Weblog-https://note.t4x.org/environment/config-lc-all-locale/
类似文档:https://note.t4x.org/system/linux-i18n-config/SourceByrd's Weblog-https://note.t4x.org/environment/config-lc-all-locale/
申明:本文由BYRD原创,谢绝转载!SourceByrd's Weblog-https://note.t4x.org/environment/config-lc-all-locale/ SourceByrd's Weblog-https://note.t4x.org/environment/config-lc-all-locale/
江苏省苏州市 1F
xshell乱码也可以这样解决吗
浙江省杭州市 B1
@ 美剧天堂 xshell乱码,应该是编码问题,你选择本地为utf-8一般就可以。(一般系统和工具编码一致应该问题不大。)