欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

转换包含UTF8和latin1等多种编码的MYSQL数据库_MySQL

程序员文章站 2022-06-06 21:22:47
...
别人的今天问起,随手转了一下,很简单,这里截图说明一下
用phpmyadmin导入库test中后发现,这个库中有UTF8和latin1两种编码,如下图
转换包含UTF8和latin1等多种编码的MYSQL数据库_MySQL

先把test备份为test1库,在WIN下操作的话就是把:路径/MySQL/data下的test目录备份一下,改名为test1目录
在phpmyadmin中把所有为UTF8的表删除,在命令行中运行
D:/PHPServer/MySQL/bin>mysqldump -uroot -p –quick –compatible=mysql40 –default-character-set=latin1 –extended-insert=FALSE test > d:/zxs.sql

说明一下D:/PHPServer/MySQL/bin是我的安装目录,test为数据库,d:/zzz.sql为生成的数据文件,程序会提示你输入root的用户密码,输入后,等几分钟,zxs.sql就生成好了

通过phpmyadmin建立一个新库,库名:test2 ,采集字符集设定为utf8-general-li

再将刚才生成sql文件导入新数据库

D:/PHPServer/MySQL/bin>mysql -uroot -p –default-character-set=utf8 test2

输入root密码,等几分钟,zxs.sql就导入成功了,到这还没完,因为这里只是把latin1编码的转换为utf8了
最后,停止mysql,把test2目录下的所有文件覆盖到我们刚刚备份的test1目录下,这样,test1目录就是我们要得到了转换好了的UTF8数据库了,OK,收工
当然,方法很简单,就是把latin1编码的表单独分离出来转为UTF8后再盖原来的库,这样多种编码也都可以完美的转换,这种情况也非常常见,换主机,升mysql版本等都会出现这种情况

相关标签: test