-- 创建数据库时,设置数据库的编码方式
-- CHARACTER SET:指定数据库采用的字符集,utf8不能写成utf-8
-- COLLATE:指定数据库字符集的排序规则,utf8的默认排序规则为utf8_general_ci(通过show character set查看)
-- 这里的dbname修改为您要创建的数据库名称即可
drop database if EXISTS dbname;
create database dbname CHARACTER SET utf8 COLLATE utf8_general_ci;
-- 修改数据库编码
alter database dbname CHARACTER SET GBK COLLATE gbk_chinese_ci;
alter database dbname CHARACTER SET utf8 COLLATE utf8_general_ci;
-- 创建表时,设置表、字段编码
-- tbname修改为您要创建的表名称
-- ()中内容为字段,根据需要替换
-- PRIMARY key(id)主键为id字段
-- auto_increment自增
use dbname;
drop table if exists tbname;
create table tbname(
id int(10) auto_increment,
user_name varchar(60) CHARACTER SET GBK COLLATE gbk_chinese_ci,
email varchar(60),
PRIMARY key(id)
)CHARACTER SET utf8 COLLATE utf8_general_ci;
-- 修改表编码
alter table tbname character set utf8 COLLATE utf8_general_ci;
-- 修改字段编码
ALTER TABLE tbname MODIFY email VARCHAR(60) CHARACTER SET utf8 COLLATE utf8_general_ci;
-- 查看所有的字符编码
SHOW CHARACTER SET;
-- 查看创建数据库的指令并查看数据库使用的编码
show create database dbname;
-- 查看数据库编码:
show variables like '%char%';
-- 设置character_set_server、set character_set_client和
set character_set_resultsset character_set_server = utf8;
-- 服务器的默认字符集。
使用这个语句可以修改成功,但重启服务后会失效。根本的办法是修改配置MYSQL文件MY.INI,