1.设置my.cnf 为全局使用utf8
mysql -h localhost -P 3306 -u root -p #输入密码进入
status; #查看当前MySQL运行状态
此时再在命令行输入:show variables like 'character_set%'; #查看MySQL字符集
除了character_set_filesystem
外,其余都应该为utf8
编码,如果不是,则修改配置文件,增加如下配置
vi /etc/my.cnf #根据个人配置找到相应文件
#在[client]段增加下面代码
default-character-set=utf8
#在[mysqld]段增加下面的代码
#default-storage-engine=INNODB #置默认存储引擎为InnoDB,此处可不必添加
character-set-server=utf8
collation-server=utf8_general_ci
[mysql]
default-character-set=utf8
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
:wq! #保存退出
2.配置单个数据库为utf8
上述配置完成后,全部都为utf8
,除character_set_filesystem
外
- 此时在插入中文数据时,依然会出错,因此,在建立每个数据库时,可以创建为utf8编码格式:
CREATE DATABASE `db_name` CHARACTER SET utf8 COLLATE utf8_general_ci;
- 或者在创建单个表格时,通过
character set = utf8;
创建为utf8
编码格式:
create table test_table (
id int auto_increment,
title text,
content text,
posted_on datetime,
primary key (id)
) character set = utf8;