mysql 导出gbk_mysqldump指定编码导出数据,GBK编码实践

第一步,导出旧库

mysqldump --default-character-set latin1 -uroot -pXXX --database db > /tmp/old.sql

第二步,转换编码

iconv -t utf-8 -f gb2312 -c /tmp/old.sql > /tmp/new.sql

第三步,导入新库

修改new.sql,增加一条sql语句: "SET NAMES utf8;",保存。

mysql -hlocalhost -uroot db < new.sql

来自:PHP高级技术群 8745758

Gbk编码导出这个Mysql的注释也就对了:

view plaincopy to clipboardprint?

1.mysqldump --default-character-set gbk -d db_adc t_tst_sum_info > /tmp/old.sql

而存入的时候是:

要想显示 正常,需要在Mysql Client输入:

1.set names latin1;

再select数据也就正常了。是表存的内容是latin1,而这个表结构的注释是gbk编码的,所以这块还是多少有一些问题;

证明:

1,只导出数据:

mysqldump --default-character-set gbk -t db_adc t_tst_sum_info > /tmp/old.sql 理论是乱码,实践出也是乱码。

mysqldump --default-character-set latin1 -t db_adc t_tst_sum_info > /tmp/old.sql 理论上是正常,实践也是正常。

充分说明这个表的结构注释和表内容是不一样的,要想一样,得统一为lation,或者gbk,但历史原因都是lation,所以,统一为lation较好。

最后:尽管说明这样两种编码是可以的,但是还是可以统一为lation的,线上我也就发现是可以的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值