设为首页收藏本站
查看: 74|回复: 0

[PHP] mysql教程-字符集和校对集

[复制链接]

论坛元老

Rank: 6Rank: 6

积分
34274
主题
17031
UID
1347
M币
67
贡献
17176

  • 发表于 2013-9-12 18:12:00 | 显示全部楼层 |阅读模式
    主要目的:解决大家在开发过程出现的乱码。
      什么是字符集?
      Character set可以简写为charset。
      每种文字有自己的一套编码方式。
      对于字符集的支持细化到四个层次:
      服务器(server)
      数据库(database)  
      数据表(table)
      连接(connection)。
      MySQL默认字符集
      MySQL对于字符集的指定可以细化到一个数据库,一张表,一列,该用什么字符集。
      但是,传统的程序在创建数据库和数据表时并没有使用那么复杂的配置,它们用的是默认的配置,那么,默认的配置从何而来呢?   
      (1)编译MySQL 时,指定了一个默认的字符集,这个字符集是 latin1;
      (2)安装MySQL 时,可以在配置文件 (my.ini) 中指定一个默认的的字符集(character_set_server),如果没指定,这个值继承自编译时指定的;
      (3)启动mysqld 时,可以在命令行参数中指定一个默认的的字符集,如果没指定,这个值继承自配置文件中的配置,此时 character_set_server 被设定为这个默认的字符集;
      (4)当创建一个新的数据库时,除非明确指定,这个数据库的字符集被缺省设定为character_set_server;
      (5)当选定了一个数据库时,character_set_database 被设定为这个数据库默认的字符集;
      (6)在这个数据库里创建一张表时,表默认的字符集被设定为 character_set_database,也就是这个数据库默认的字符集;
      (7)当在表内设置一栏时,除非明确指定,否则此栏缺省的字符集就是表默认的字符集;
      简单的总结一下,如果什么地方都不修改,那么所有的数据库的所有表的所有栏位的都用 latin1 存储,不过我们如果安装 MySQL,一般都会选择多语言支持,也就是说,安装程序会自动在配置文件中把 default_character_set 设置为 UTF-8,这保证了缺省情况下,所有的数据库的所有表的所有栏位的都用 UTF-8 存储。
      
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    在我站开通SVIP可同时获得17个站点VIP资源 立即登录 立即注册
    快速回复 返回顶部 返回列表