数据库编码选择的一般准则: 1、GBK/GB2312 适合纯中文存储的数据库 2、LATIN1 适合于纯英文的存储 3、UTF8 适合中英文混合编码的存储。
MySQL数据库的编码分为四级: 一、Mysql数据库服务器编码 设置步骤: (1)编辑MySql的配置文件 MySql的配置文件在MacOSX系统中是在/etc/my.cnf
–在 [mysqld] 标签下加上两行1
2
character_set _server=utf8
init_connect='SET NAMES utf8'
(2)重新启动MySql服务
(3)查看设置结果 登录MySql命令行客户端:打开命令行
输入密码 进入mysql后 执行 :1
show variables like '%character%' ;
显示结果应该类似如下: +————————–+————————————————+ | Variable_name | Value | +————————–+————————————————+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /Applications/XAMPP/xamppfiles/share/charsets/ | +————————–+————————————————+
(4)建库导入数据 导入sql脚本文件前,先确保该脚本文件及内容格式为UTF-8编码格式, 同以上方法登入mysql命令行,
进入相应数据库,然后进行如下操作:1
2
set names utf8;
source sql 脚本文件名;
二、Mysql数据库编码 (可以在创建的时候指定,也可以在创建之后进行修改) 方法1、1
create database db_name default character set utf8
方法2、1
create database db_name default charset =utf8
修改DB的编码:1
alter database db_name default character set utf8;
三、Mysq数据库中表的编码 (可以在创建的时候指定,也可以在创建之后进行修改) 方法1、1
2
3
4
create table table_name
(
......//字段信息
)ENGINE =InnoDB DEFAULT character set utf8;
方法2、1
2
3
4
create table table_name
(
......//字段信息
)default charset =utf8;
修改表table的编码:1
alter table table_name default character set utf8
四、Mysql数据库表中字段的编码 (可以在创建的时候指定,也可以在创建之后进行修改) 方法:1
2
3
4
create table table_name
(
filed_name varchar (20 ) character set utf8 //注意不能有default
);
修改字段field编码: 方法: 假如字段的限制是 varchar(20) not null default ‘’;1
alter table table_name change old_filed_name new_filed_name varchar (20 ) not null default 'abc' character set utf8;
change和modify的区别,modify只能修改字段属性,change可以修改字段名。