ubuntu16.04解决文件中文乱码问题

1、查看当前系统使用的字符编码

~$ locale 
LANG=en_US
LANGUAGE=en_US:
LC_CTYPE="en_US"
LC_NUMERIC="en_US"
LC_TIME="en_US"
LC_COLLATE="en_US"
LC_MONETARY="en_US"
LC_MESSAGES="en_US"
LC_PAPER="en_US"
LC_NAME="en_US"
LC_ADDRESS="en_US"
LC_TELEPHONE="en_US"
LC_MEASUREMENT="en_US"
LC_IDENTIFICATION="en_US"
LC_ALL=

 

2、查看当前系统支持的字符集

:~$ locale -a
C
C.UTF-8
en_US
en_US.iso88591
en_US.utf8
POSIX

3、查看locale文件

:~$ cat /etc/default/locale 
#  File generated by update-locale
LANG="en_US"
LANGUAGE="en_US:"  

 解决:

1、执行locale-gen zh_CN.UTF-8拉取中文编码(需要root权限)

:~$ locale-gen zh_CN.UTF-8
sed: couldn't open temporary file /etc/sedMLPzNn: Permission denied
deployer@RSLog026:~$ sudo su
[sudo] password for deployer: 
root@RSLog026:/home/deployer# locale-gen zh_CN.UTF-8
Generating locales (this might take a while)...
zh_CN.UTF-8... done
Generation complete.

2、查看现在系统支持的字符集,发现多了zh_*等中文字符集 

:~$ locale -a
C
C.UTF-8
en_US
en_US.iso88591
en_US.utf8
POSIX
zh_CN
zh_CN.gb2312
zh_CN.gbk
zh_CN.utf8

3、修改文件/etc/default/locale(必须要改,,开始还以为不该也行,发现如果不改这个文件,需要执行两遍第四步操作)

当前文件
:~$ cat /etc/default/locale 
#  File generated by update-locale
LANG="en_US"
LANGUAGE="en_US:"


改成如下:
:~$ cat /etc/default/locale 
#  File generated by update-locale
LANG=zh_CN.UTF-8
#LANGUAGE="en_US:"

4、执行sudo dpkg-reconfigure locales命令,由于不能截图,这里语言描述下了。

选中 zh_CN GB2312,zh_CN.GBK GBK,zh_CN.UTF-8 UTF-8  按空格就是选中,然后tab键到ok,点击ok以后会跳转到下一界面,选中zh_CN.UTF-8,,然后ok就可以了

接下来重新打开会话就能正常使用中文了,不用重启系统。

 

 

 

借鉴:https://www.jb51.net/article/104899.htm

  

 

 

  

 

 

  

 

posted @ 2019-01-31 18:04  北漂-boy  阅读(9264)  评论(0编辑  收藏  举报