mysql创建的是拉丁_将MySQL数据库从拉丁转换为UTF-8

本文介绍如何快速高效地将多个数据库中的varchar列从ISO转换为UTF-8,避免繁琐的逐表逐列操作,分享了一种通过SQL脚本批量修改字符集的方法,包括使用mysqldump和ALTER DATABASE命令.
摘要由CSDN通过智能技术生成

我把一个网站从ISO转换为UTF-8,所以我需要转换MySQL数据库。

在互联网上,我读了各种解决方案,我不知道选哪一个。

我真的需要将我的varchar列转换为二进制,然后转换为UTF-8像这样:

ALTER TABLE t MODIFY col BINARY(150);

ALTER TABLE t MODIFY col CHAR(150) CHARACTER SET utf8;

为每个数据库的每个表的每个列执行此操作需要很长时间。

我有10个数据库,每个20表,大约2 – 3 varchar列(每列2个查询),这给我大约1000个查询写!怎么做?

解决 :

我发布我已经使用的代码:

PASSWORD=""

db=$1

mysqldump --password=$PASSWORD --set-charset --skip-set-charset --add-drop-table --databases "$db" > /home/dev/backup/bdd.sql

QUERY="ALTER DATABASE \`$db\` DEFAULT CHARACTER SET utf8;"

mysql --password=$PASSWORD --database "$db" -e "$QUERY"

mysql --password=$PASSWORD --default-character-set=utf8 < /home/dev/backup/bdd.sql

有关详细信息,请参阅下面的答案。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值