数据库编码选择的一般准则:
1、GBK/GB2312
适合纯中文存储的数据库
2、LATIN1
适合于纯英文的存储
3、UTF8
适合中英文混合编码的存储。
Mysql数据库的编码分为四级:
一、Mysql数据库服务器编码;设置步骤:
(1)编辑MySql的配置文件
MySql的配置文件在MacOSX系统中是在/etc/my.cnf
--在 [mysqld] 标签下加上两行
character_set_server=utf8
init_connect='SET NAMES utf8'
(2)重新启动MySql服务
service mysql start
(3)查看设置结果
登录MySql命令行客户端:打开命令行mysql –u root –p 回车
输入密码
进入mysql后 执行 :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命令行,use 库名 进入相应数据库
set names utf8;
source sql 脚本文件名;
二、Mysql数据库编码;
(可以在创建的时候指定,也可以在创建之后进行修改)
方法1、create database db_name default character set utf8
create database db_name default charset=utf8
alter database db_name default character set utf8;
(可以在创建的时候指定,也可以在创建之后进行修改)
方法1、create table table_name
(
......//字段信息
)ENGINE=InnoDB DEFAULT character set utf8;
create table table_name
(
......//字段信息
)default charset=utf8;
alter table table_name default character set utf8
(可以在创建的时候指定,也可以在创建之后进行修改)
方法:create table table_name
(
filed_name varchar(20) character set utf8 //注意不能有default
);
方法:
假如字段的限制是 varchar(20) not null default '';
alter table table_name change old_filed_name new_filed_name varchar(20) not null default 'abc' character set utf8;
change和modify的区别,modify只能修改字段属性,change可以修改字段名。