MySQL疑01-创建表,表中存在中文时乱码问题

一、在表中操作字符编码

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 tabletablenameG;

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

配置文件结果:

然后,显示中文乱码,原因:查看table编码:

所以,你在创建table的时候,要加上charset utf8:

中文可以显示了!

原文地址:https://www.cnblogs.com/zhubincheng/p/12839754.html