Linux中文编码解码问题
一切的乱码都是由于编码和解码的方式不兼容造成的。
我将Windows下的一个txt文件上载到Linux中,发现中文出现乱码,原因是在我的这个txt文件的编码方式和Linux的解码方式混乱。
在全世界所有国家和地区的文字符号统一编码的UCS/Unicode编码方案问世之前,各个国家、地区为了用计算机记录并显示自己的字符,都在ASCII编码方案的基础上,设计了各自的编码方案。
在Windows中,默认是什么编码方式呢?
打开cmd,输入chcp
我的活动代码页为:936,所以它对应的编码格式为GBK。
微软公司只是提供了这种对应关系,各种字符集并不是微软公司发明的。
而在Linux中,默认的编码方式又是什么呢?
查看文件
vim /etc/locale.conf
或使用命令
locale
所以,Linux的默认编码方式为zh_CN.UTF_8。虽然都使用UTF-8字符集,但是也有区域之分,一般系统会根据地区选择默认编码方式。比如