mysql set语句_mysql--乱码解决(6)

1.字符集介绍

mysql数据库字符集包括字符集(character)和校对规则(collation)两个概念,其中字符集是用来定义mysql数据字符串的存储方式,而校对规则则是定义比较字符串的方式。

2.常见字符集

40b5ec93f92a45e21335792a8dcdf952.png
1beea252ead511605394164264c61b17.png

3.解决中文乱码

思想:保持linux、服务端、库、表、客户端、程序的字符集相同!

法1:set column_name utf8;utf8是表的字符集.

法2: 在sql文件中指定set column_name utf8,然后登陆mysql,执行source test.sql;

法3:在sql文件中指定set column_name utf8,然后通过命令导入。

mysql -u root -p'456' oldgirl < test.sql

mysql -u root -p'456' oldgril -e "set column_name utf8;select *from test;"

法4: 通过指定的字符集参数实现--default-character-set=utf8;

cat test.sql;

insert into student values(9,'张三');

mysql -u root -p'456' --default-character-set=utf8 oldgirl < test.sql

法5:在配置文件中设置客户端及服务端相关参数,my.cnf

[client]

default-character-set=utf8

无需重启服务,退出登陆就生效,相当于set colunmn_name utf8;

[mysqld]

default-character-set=utf8 适合5.1及以前版本

character-set-server=utf8 适合5.5及以上

只有法5是永久生效的。

4.生产环境模拟过程,latin1-->utf8

建库及建表语句导出,sed批量修改为utf8.

导出数据

修改服务端和客户端编码为utf8

删除原有库表及数据

导入新的建库建表语句

导入数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值