mysql 修改字符集

  1. 查看 my.ini 配置文件的服务端默认字符集
# 服务端默认字符集
character_set_server = utf8 
  1. 查看当前数据库字符集
show VARIABLES like 'character%';
image.png
  1. 修改数据库字符集
alter database auth character set utf8;

注意:修改完数据库字符集,需要重启mysql数据库

  1. 修改表字符集
ALTER TABLE  表名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
  1. 生成所有表修改字符集语句
SELECT TABLE_NAME,CONCAT('ALTER TABLE  ',TABLE_NAME,' DEFAULT CHARACTER SET ',a.DEFAULT_CHARACTER_SET_NAME,' COLLATE ',a.DEFAULT_COLLATION_NAME,';') executeSQL FROM information_schema.SCHEMATA a,information_schema.TABLES b
WHERE a.SCHEMA_NAME=b.TABLE_SCHEMA
AND a.DEFAULT_COLLATION_NAME!=b.TABLE_COLLATION
AND b.TABLE_SCHEMA='数据库名' 
  1. 修改列字符集
ALTER TABLE  表名 CHANGE  列名  列名  VARCHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL;
  1. 生成所有列修改字符集语句
select b.table_name,b.column_name,b.character_set_name,b.collation_name
,CONCAT('ALTER TABLE ',b.table_name,' CHANGE ',b.column_name ,' ',b.column_name,' ',b.DATA_TYPE,'(',b.CHARACTER_MAXIMUM_LENGTH,') ', 'CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL;') executeSQL
 from information_schema.TABLES a,information_schema.COLUMNS b where  b.character_set_name IS NOT NULL and a.TABLE_SCHEMA=b.TABLE_SCHEMA AND a.TABLE_NAME=b.TABLE_NAME
AND a.TABLE_COLLATION!=b.COLLATION_NAME
and a.TABLE_SCHEMA='linlonge'

MacOS 修改 mysql 字符集

mysql官网下了5.7直接安装,想要修改字符集编码发现目录 `/usr/local/mysql/support-files` 里没有默认的配置文件

所以需要在 /etc/ 下创建一个默认的配置文件 `suto vim /etc/my.cnf`
写入内容:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8

在系统偏好里面,重启 mysql 的服务
``
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容