现在utf-8编码方式应用越来越广泛,主要是原因应该受到当前国际化理念的驱动,像Wordpress就是完全用utf-8编码编码格式。
MySQL数据库可以在多个级别上设置不同的编码格式。
* 服务器级:在安装MySQL时可以设置服务器的默认编码格式,
也可对my.ini做修改,修改[mysqld]里面的character_set_server=utf8,则可设置character_set_server的值。
* 数据库级:在创建数据库时可以指定数据库的编码格式,如果不指定,则默认继承服务器的编码格式。示例如下:
CREATE DATABASE db_name DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci; 【GBK】 CREATE DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 【UTF-8】
* 表级:在MySQL中可以对同一个数据库中表指定不同的编码格式,如果不指定将继承数据库的编码格式。示例如下:
CREATE TABLE tb_name ( id VARCHAR(20) NOT NULL, name VARCHAR(20) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
* 列级:另外还可以对同一个表中的不同列指定不同的编码格式,示例如下:
CREATE TABLE tb_name ( id varchar(20) NOT NULL, name varchar(20) CHARACTER SET utf8 );