1. 论坛系统升级为Xenforo,欢迎大家测试!
    排除公告

[原创]Mysql latin1编码转UTF8的方法

本帖由 21andy2006-05-17 发布。版面名称:后端开发

  1. 21andy

    21andy New Member

    注册:
    2005-12-10
    帖子:
    65
    赞:
    0
    这几天看了很多这方面的资料和工具,想转换自己原来的数据库编码由latin1为UTF8都不成功。

    今天研究了半天,试了很多种方法,最后还是自己搞定了!
    我的BLOG数据库是Mysql5.0 latin1编码
    刚用SSH上去mysqldump出来,下到本地,想转成UTF8,试验了多次,方法如下:
    1. 下回来的是latin1乱码的文件,因此,本机也架起Mysql5.0的环境
    2. 然后新建一个空数据库,编码为UTF8,用下回来的sql文件导入
    3. 再用phpmyadmin导出来,这样编码就成了UTF8
    4. 把导出的sql文件中所有的DEFAULT CHARSET=latin1 干掉
    5. 删除原来的latin1编码的数据库,导入这个UTF8编码的sql文件
    完成:)
     
  2. 21andy

    21andy New Member

    注册:
    2005-12-10
    帖子:
    65
    赞:
    0
    补充一下重点:
    在执行完第2步的时候,用PHPMYADMIN打开数据库看看
    里面所有的表和字段都还是LATIN1,没关系,继续执行第3步
    执行完第3步,可以用文本编辑器打开SQL文件看看,换UTF8格式查看
    这时,表和字段的内容就是UTF8了!
     
  3. 21andy

    21andy New Member

    注册:
    2005-12-10
    帖子:
    65
    赞:
    0
    再补充一下重点:
    MYSQL4。1下老是不成功,如果不能解决的话,可以通过升级到MYSQL5。0来解决
    怎么升级呢?
    如果服务器端是4。1,可以直接MYSQLDUMP出来,到本地转换,本地建议架设MYSQL5。0,MYSQL4。1 DUMP出来的可以直接导入
    应该可以成功!
    good luck!
     
  4. 21andy

    21andy New Member

    注册:
    2005-12-10
    帖子:
    65
    赞:
    0
    再补充一下:刚才说错了
    DEFAULT CHARSET=latin1
    这句不是干掉,而是换成
    DEFAULT CHARSET=utf8,然后保存