MYSQL数据库编码原理

2017-04-13 20:59:37 dedecms

很多站长可能与

笔记部落

小编一样,觉得MYSQL数据库即熟悉又神秘。熟悉是因为我们每天都会用到MYSQL进行安装

织梦

程序,陌生是因为mysql经常与linux联系,是基于linux系统的下的应用,而我们平常使用的都是windows主机系统。笔记部落就基于自己对mysql数据库的理解来简单解释一下数据库编码问题,希望我的文章能给使用php虚拟主机的站长用户带来帮助。

在mysql编码面有两个概念,大家都不需要知道的。一个是 字符编码“character set”和校验编码“collations”。下面我们来说说这个两个东西。

1、 什么是字符集“character set”

数据库都有字符集,字符集是一个非常大的概念,如我以前的一篇文章关编码文章“

织梦(dedecms)网站管理系统GBK和UTF8版本的区分(选择)

”,希望大家可以看看。字符集,规定了不同字符的编码方式,一个字符集就是一组符号和编码。举个例子,我们常说的“ASCII字符集”,就是包括数字、大小写字母、分号、换行等的符合的集合,编码方式按照一定的规律和要求进行排序的编码集合。如字母A的编码是65。ASCII只规定了英文字母的编码,不是因为字母的(如中文字符)是那个用ASCII编码表示的。正因为如此,每个国家都会为自己国家的语言做了编码,我国的就是GB2312编码。如果你的网站要用多语言,就要用utf8编码,因为utf8编码是一个国际通用编码,utf8编码对世界所有语言文字进行了编码。对于这些编码有一个包含的概念,如GB2312编码包含ASCII字符,UTF8编码包含GB2312字符和ASCII字符。如果网站要用多语言,最合适的就是应该用utf8编码。

我们在使用文本存储时候,无处不在的都涉及到编码问题。我们常用的mysql数据库是支持多字符集的,并且,支持在不同的字符集之间转换,这方便不同字符集直接的移植并支持多语言,我们在迁移(移植)mysql数据库的时候就要注意,否则就会发生数据库乱码问题。关于此有一些常用术语,你是应该了解:

字符:汉字、英文字母、标点符号、拉丁文等等。

编码:将字符换成计算机存储的格式,如ASCII将字母A变成65进行存储。

字符集:一组字符以及对应的编码方式。

2、 什么是校验“collations”

“collations”是“校验”的意思。这个校验编码都是在mysql数据库中使用,其作用是指导mysql对字符的比较,和整理。我们在进行网页开发过程中,大家基本上可以忽略collations校验,我们使用数据库中默认的校验编码就可以了。