共计 863 个字符,预计需要花费 3 分钟才能阅读完成。
导读 | 在 vim 的初始学习阶段,乱码经常是困扰新手的一个比较烦躁的问题,只有弄清楚编码原理,才能正确解决乱码。下面我们就乱码的原因和解决方案给与阐述。 |
产生乱码的原因就是编码不一致导致的。那么,编码不一致为什么会导致乱码呢?
计算机要处理各种字符,就需要将字符和二进制内码对应起来,这种对应关系就是字符编码。要制定字符编码首先要确定字符集,并将字符集内的字符排序,然后和二进制数字对应起来,根据字符集内字符的多少,确定几个字节来编码。
ASCII 编码是目前计算机中常用的最广泛地 字符集及其编码。ISO-8859- 1 可以表示的是西欧语言,看起来很单一,但是由于是单字节编码,与计算机最基础的表示单位一致,所以在很多时候,仍旧 使用 ISO-8859- 1 编码来表示,而且在很多协议上默认使用这种编码。Unicode 编码(统一码), 通常所说的 UTF- 8 就是 Unicode 编码的 实现方式。GB2312 字集是简体字集;BIG5 字集是台湾繁体字集;GBK 字集是简繁字集;GB18030 是国家制定的一个强制性大字集标准;Linux 系统默认的使用的是 ISO-8859- 1 编码,。现在的 PC 平台必须支持 GB18030,对嵌入式产品暂不 作要求。所以手机、MP3 一般只支持 GB2312。
我们使用的字符在网络中传输都是转换为二进制的 0 和 1 传输的。例如,你编写的文本是以 gb2312 编码的,而在浏览器中以 utf- 8 的编码去解码该文件,那么你看到的文本内容就会出现乱码。反之网页是编码 utf-8,内容是 gbk 也会出现乱码。
尽量使用软件进行编辑 HTML 网页内容,以保证 html 网页源代码编码与中文字输入编码相同。如果网页设置编码是 gbk 的,而数据库储存数据编码格式是 UTF- 8 的,这个时候程序查询数据库数据显示数据前进乡程序转码即可。如果浏览器浏览时候出现网页乱码,在浏览器中找到转换编码的菜单进行转码。