MYSQL数据表的默认字符集

admin  2016-07-10 20:26   Hits: 

在MYSQL数据库中,可以为数据库,数据表,甚至每个数据列分别设定一个不同的字符集和一个相应的排序方式,但像MYSQL命令解释权和PHP脚本等绝大多数MYSQL客户机,都不具备这种同时支持多种字符集的能力,而会将从客户发往服务器和从服务器返回客户的字符串自动转换为相应的字符集编码,如果在转换时候遇到无法表示的字符,该字符将被替换为?号,所以要将在SQL命令里输入的字符集,和SELECT查询结果的字符集设置为相同的字符集。
使用CREATE TABLE创建数据表时候,如果没有明确指定任何字符集,则新创建数据表的字符集由MYSQL配置文件里character-set-server选项的设置决定,以创建一个新数据库 mydb为例,指定默认创建的表字符集为utf8,校对规则collaction是utf8-genery-ci如果数据库mydb不存在,则我们在mysql控制台中输入
create-database-if-not-exists-mydb-default-character-set-utf8-collate-utf8-genery-ci
在创建数据表时如果需要指定默认的字符集与之相同,但mysql客户端程序在与服务器通信时候使用的字符集,与配置项的设置无关,而需要在mysql客户端或php设计语言中,使用set names utf8来指定一个字符集,还有一个办法是使用set character set utf8命令,将客户端使用的字符集和select查询结果上的字符集设置为utf8
上一篇:数据表的类型及存储位置
下一篇:mysql创建索引