mysql创建表,表中存在中文时乱码问题

一、在表中操作字符编码

1.创建库时指定编码:create database testdb default charset GBK

2.修改库的编码: ALTER DATABASE 库名 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin

3.修改表的编码:ALTER TABLE 表名 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin 4

4.修改字段的编码:
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 VARCHAR( 45 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL

5.查看数据库支持的所有字符集
show character set;或show char set;

6.查看当前状态 里面包括当然的字符集设置
status或者\s

7.查看系统字符集设置,包括所有的字符集设置
show variables like ‘char%‘;

8.查看数据表中字符集设置
show full columns from tablename; 或者 show create tabletablename\G;

9.查看数据库编码
show create database dnname;

二、表内中文乱码问题

首先,你设置了配置文件:

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
配置文件结果:
mysql创建表,表中存在中文时乱码问题

然后,显示中文乱码,原因:查看table编码:
mysql创建表,表中存在中文时乱码问题

所以,你在创建table的时候,要加上charset utf8:
mysql创建表,表中存在中文时乱码问题

中文可以显示了!
mysql创建表,表中存在中文时乱码问题

mysql创建表,表中存在中文时乱码问题

上一篇:[sql]lock tables


下一篇:[ORACE] Oracle trace 之一 trace