MySQL修改字符集

MySQL修改字符集

字符集乱码原因

如果在建库建表的时候,没有明确指定字符集,则采用默认的字符集 latin1,其中是不包含中文字符的。
查看默认的编码字符集:
默认字符集

永久修改数据库字符集

  • 修改配置文件
    在/usr/share/mysql/ 中找到 my.cnf 的配置文件,拷贝其中的 my-huge.cnf 到 /etc/ 并命名为 my.cnf 。添加以
    下内容后再重启服务。
    [client]
    default-character-set=utf8
    [mysqld]
    character_set_server=utf8
    character_set_client=utf8
    collation-server=utf8_general_ci
    [mysql]
    default-character-set=utf8

  • 注意:必须将文件拷贝到指定路径,且名称为 my.cnf

  • 再次查看:
    修改后的字符集

  • 注意:已经创建的数据库的设定不会发生变化,参数修改只对新建的数据库有效!

修改已创建库、表字符集

  • 修改数据库的字符集
    mysql> alter database mydb character set ‘utf8’;
  • 修改数据表的字符集
    mysql> alter table mytbl convert to character set ‘utf8’;

修改已经乱码数据

无论是修改 mysql 配置文件或是修改库、表字符集,都无法改变已经变成乱码的数据。
只能删除数据重新插入或更新数据才可以完全解决

MySQL常用命令

SQL 语句描述备注
show databases列出所有数据库
create database 库名创建一个数据库
create database 库名 character set utf8创建数据库,顺便执行字符集为utf-8
show create database 库名查看数据库的字符集
show variables like ‘%char%’查询所有跟字符集相关的信息
set [字符集属性]=utf8设置相应的属性为 utf8设置相应的属性为 utf8只是临时修改,当前有效。服务重启后失效。
alter database 库名 character set ‘utf8’修改数据库的字符集
alter table 表 名 convert to character set’utf8’修改表的字符集
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值