gbk和utf8的理解

我们这里将以最简单最容易理解的方式来描述GBK和UTF8的区别,以及它们分别是什么。

  • GBK编码:是指中国的中文字符,其它它包含了简体中文与繁体中文字符,另外还有一种字符“gb2312”,这种字符仅能存储简体中文字符。

  • UTF-8编码:它是一种全国家通过的一种编码,如果你的网站涉及到多个国家的语言,那么建议你选择UTF-8编码。

GBK和UTF8有什么区别?

UTF8编码格式很强大,支持所有国家的语言,正是因为它的强大,才会导致它占用的空间大小要比GBK大,对于网站打开速度而言,也是有一定影响的。

GBK编码格式,它的功能少,仅限于中文字符,当然它所占用的空间大小会随着它的功能而减少,打开网页的速度比较快。

产生乱码的原因

  • html乱码原因与网页乱码解决方法:

1模板头部编码

模板源代码中<meta http-equiv="Content-Type" content="text/html; charset=xxxxxx" />所指定的编码

2模板自身编码

是模板保存到磁盘的编码,许多站长不知道这个编码。以UE为例,在保存文件时会提示选择编码,具体到AKCMS,通过AKCMS后台保存的模板会使用和AKCMS配置(/configs/configs.inc.php)一样的编码设置

3数据编码

数据可能是数据库也可能是缓存文件或读取URL的内容,最常见的数据源是数据库。
以上编码必须统一,才能正常显式,否则页面的部分或全部就会出现乱码。
遇到网页乱码第一步是先分析问题,先定位了问题才能有针对的快速解决,否则浪费时间也没有效果:

如果是模板部分乱码,

往往是模板文件的保存编码不对,用UE等编辑器打开模板文件另存为,选择正确的编码保存再上传即可,需要注意的是一定要开启FTP的二进制模式(如何开启FTP软件的二进制上传模式?)。

如果是页面数据部分乱码,

往往是数据源编码不对,以MySQL数据库为例,有可能是数据库编码与CMS编码不一致,统一起来即可;也有可能MySQL不同版本数据导入导出引起的乱码问题也比较常见,另文说明。

如果页面中文部分全部乱码,

则可能是模板头部编码设置不对,修改保存即可。

以上内容也同样适用于其他CMS做的网页。

参考:
让你彻底搞定各种编码来源ASCII、ANSI、GBK、unicode、UTF-8等https://blog.csdn.net/wskzgz/article/details/88710263
web程序网页出现乱码的原因分析:https://blog.csdn.net/senlin1202/article/details/50800187

Q.E.D.

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议
切换主题 | SCHEME TOOL