前言:Ubuntu环境设置的字符集UTF8,Windows默认字符集是GBK。这使得在用Telnet或SSH登录远程服务器打开文件显示中文乱码,或从Windows拷贝文件到Linux时文件显示中文乱码。需要设置当前系统的字符编码,将Ubuntu环境设置为GBK或GB2312,或设置文件字符编码使其正确显示汉字。Ubuntu 默认采用UTF8编码,可以方便global。但对中文支持,还不细致,即便默认采用中文安装,也并不会自动添加GB*等支持,致使在Ubuntu下访问部分Win文本文件时,出现中文乱码。为防止以后再遇到此类问题时得到快速解决,笔者记录一下此次经历。
笔者在一个Ubuntu版本的Linux操作系统服务器上运行一个自己开发的程序,打开该程序生成日志文件,发现显示内容有中文乱码,中文全部为“?”问号。
中文全部为“?”问号的解决方案如下:
#查看当前操作系统字符编码 locale #查看当前操作系统支持的字符集 locale -a #编辑配置,添加语言字符集,wd保存 vim /etc/default/locale # File generated by update-locale LANG=zh_CN.UTF-8 LANGUAGE=zh_CN:zh:en_US:en LC_ALL=zh_CN.UTF-8 #刷新配置 source /etc/default/locale #导出配置 export LANGUAGE=zh_CN:zh:en_US:en export LANG=zh_CN.utf8 export LC_ALL=zh_CN.utf8 #再次查看当前操作系统字符编码 locale
然后再次执行程序,日志显示还是有中文乱码,不过是此次乱码不再是“?”问号。而是繁体字乱码。
繁体字乱码的解决方案如下:
#查看当前操作系统字符编码 locale #查看当前操作系统支持的字符集 locale -a #编辑配置,添加语言字符集,wd保存 vim /etc/default/locale # File generated by update-locale LANG=zh_CN.gbk LANGUAGE=zh_CN:zh:en_US:en LC_ALL=zh_CN.gbk #刷新配置 source /etc/default/locale #导出配置 export LANGUAGE=zh_CN:zh:en_US:en export LANG=zh_CN.gbk export LC_ALL=zh_CN.gbk #再次查看当前操作系统字符编码 locale
然后再次执行程序,日志显示正常了。
另外附上其他两个临时的解决方案。
#将文件进行utf8编码另存
iconv -f utf8 -tgb18030 app.txt > app-utf8.txt
#解决vi 文件或vim 文件下,文本内容显示中文乱码问题
vim /etc/vim/vimrc set fileencodings=utf-8,gb2312,gbk,gb18030 set termencoding=utf-8 set encoding=prc
参考资料:
解决ubuntu文件乱码问题_weixin_34337265的博客-CSDN博客
解决ubuntu下文件中中文乱码问题_ubuntu中文乱码,ubuntu乱码-Ubuntu文档类资源-CSDN下载



