MySQL的中文编码问题

创建表格时,怎么让表格显示中文?
注意:不区分大小写

mysql> ALTER TABLE 表格的名字 CONVERT TO CHARACTER SET UTF8;

怎么让默认的数据库支持中文字符编码?

mysql> ALTER DATABASE testDB CHARACTER SET UTF8;

1.首先以root用户登录查看我们数据库的编码方式

show variables like 'character%'; /show variables like 'character_set_%';

2.设置UTF-8

SET character_set_client = utf8;
SET character_set_results = utf8;
SET character_set_connection;

3.查看已经安装好的字符序

show collation;

character_set_client:客户端请求数据的字符集(编码方式)
character_set_connection:从客户端接收到数据,再传输的字符集(建立连接使用的编码)
character_set_database:默认数据库的字符集,无论默认数据库如何改变,都是这个字符集;如果没有默认数据库,那就使用 character_set_server 指定的字符集,这个变量建议由系统自己管理,不要人为定义
character_set_filesystem:把os上文件名转化成此字符集,即把 character_set_client转换character_set_filesystem, 默认binary是不做任何转换的
character_set_results:结果集的字符集
character_set_server:数据库服务器的默认字符集
character_set_system:这个值总是utf8,不需要设置,是存储系统元数据的字符集
character_sets_dir:/usr/share/mysql/charsets/

mysql的字符集分为几类:
A.客户端字符集:通过系统变量”character_set_client“表示,通知server端,客户端提交的sql语句编码格式
B.连接字符集:通过系统变量”character_set_connectiont“表示,server端翻译sql语句时,使用的编码格式
C.结果集字符集:通过系统变量”character_set_results“表示,server端返回结果集之前把结果集转换成的编码格式
D.存储字符集:通过系统变量”character_set_results“和“character_set_server”表示,是数据在存储引擎里编码格式

 

 

创建tablel默认值为中文时老是出错,而英文就可以,就是编码问题,解决办法:在括号外面加个charset='utf8';

图上:

正确的:

 

posted @ 2016-11-07 18:16  込戲冭氵罙  阅读(832)  评论(2编辑  收藏  举报