[MySQL]变更数据库字符集

my.cnf

  [mysqld]

  character-set-server=utf8

  [mysqld_safe]

  default-character-set=utf8

-- 创建数据库时,设置数据库的编码方式 

-- CHARACTER SET:指定数据库采用的字符集,utf8不能写成utf-8

-- COLLATE:指定数据库字符集的排序规则,utf8的默认排序规则为utf8_general_ci(通过show character set查看)

  drop database if EXISTS dbtest;

  create database dbtest CHARACTER SET utf8 COLLATE utf8_general_ci;

-- 修改数据库编码

  alter database dbtest CHARACTER SET GBK COLLATE gbk_chinese_ci;

  alter database dbtest CHARACTER SET utf8 COLLATE utf8_general_ci;

-- 创建表时,设置表、字段编码

  use dbtest;

  drop table if exists tbtest;

  create table tbtest(

  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 tbtest character set utf8 COLLATE utf8_general_ci;

-- 修改字段编码

  ALTER TABLE tbtest MODIFY email VARCHAR(60) CHARACTER SET utf8 COLLATE utf8_general_ci;

-- 查看所有的字符编码

  SHOW CHARACTER SET;

-- 查看创建数据库的指令并查看数据库使用的编码

  show create database dbtest;

-- 查看数据库编码:

  show variables like '%char%';

-- 设置character_set_server、set character_set_client和set character_set_results

  set character_set_server = utf8; -- 服务器的默认字符集。使用这个语句可以修改成功,但重启服务后会失效。根本的办法是修改配置MYSQL文件MY.INI,

 

猜你喜欢

转载自www.cnblogs.com/baylorqu/p/10265383.html