MySQL 数据库编码问题
[修改编码格式]修改数据库编码ALTER database database_test character set utf8;
修改数据库表编码ALTER table table_test character set utf8;
[外部数据库方便乱码问题解决]
SET NAMES 'utf8';
它相当于下面的三句指令:SET character_set_client=utf8;
SET character_set_results=utf8;
SET character_set_connection=utf8;
创建数据库
MySQL> create database name character set utf8;
创建表CREATE TABLE`type`(
`id`int(10)unsignedNOT NULL auto_increment,
`name`varchar(50)charactersetutf8 NOT NULLdefault'',
PRIMARY KEY(`id`)
)DEFAULT CHARSET=utf8;
修改数据库成 utf8 的.
MySQL> alter database name character set utf8;
修改表默认用 utf8.
MySQL> alter table type character set utf8;
修改字段用 utf8
MySQL> alter table type modify type_name varchar(50) CHARACTER SET utf8;
[数据库内部乱码问题]
1. 修改数据库配置文件 (vi /etc/my.cnf)
-- 在 [mysqld] 标签下加上三行default-character-set=utf8
character_set_server=utf8
lower_case_table_names=1// 表名不区分大小写 (此与编码无关)
-- 在 [MySQL] 标签下加上一行
default-character-set = utf8
-- 在 [MySQL.server] 标签下加上一行
default-character-set = utf8
-- 在 [mysqld_safe] 标签下加上一行
default-character-set = utf8
-- 在 [client] 标签下加上一行
default-character-set = utf8
2. 重启数据库服务
3. 查看设置结果show variables like"%char%";
show variables like"%collation%";
来源: http://www.linuxidc.com/Linux/2019-08/159981.htm