1. 论坛系统升级为Xenforo,欢迎大家测试!
    排除公告

mysql数据库编码原理

本帖由 汤园2012-10-23 发布。版面名称:后端开发

  1. 汤园

    汤园 New Member

    注册:
    2012-08-10
    帖子:
    56
    赞:
    0
    mysql数据库编码原理
    很多站长可能与无忧主机小编一样,觉得他即熟悉又神秘。熟悉是因为我们每天都在用(php开源程序都使用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校验,我们使用数据库中默认的校验编码就可以了。

    美国/香港 纯Linux环境下高端免备案php空间,仅仅只需99元一年起。商务中国核心代理直销国际顶级域名(.com.net)域名注册只需要50元就可以获得。

    本文地址:51php.com/mysql/2515.html

    喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^