SQL latin1到utf-8转换

时间:2013-09-13 14:26:24

标签: mysql utf-8 latin1

我有一个非常大的数据库,数据存储在latin1字符集中。

在使用phpmyadmin的数据库上,如果我使用这样的行:

alter table TABLE_NAME modify FIELD_NAME blob;
alter database DATABASE_NAME charset=utf8;
alter table TABLE_NAME modify FIELD_NAME varchar(255) character set utf8;

一切都在继续。文字正在转换。

但我有很多领域,表格。如何在所有表格,字段上制作它?有一个很好的转换php脚本吗?

我也使用iconv,但没有从latin1更改为utf-8

1 个答案:

答案 0 :(得分:0)

  1. 在utf8中创建新数据库
  2. 恢复数据库结构
  3. 运行“ALTER TABLE the_latin_one CONVERT TO CHARACTER SET utf8;”对于你的所有表格
  4. 创建像这样创建sql.txt的php脚本
  5. file_put_contents(PATH2。“sql.txt”,“insert into”。$ TABLE [0]。“values(”。(rtrim($ q_col,“,”))。“); \ n”,FILE_APPEND) ;

    确实你必须创建所有表插入查询。使用“显示完整表格,其中Table_type<>'VIEW'”和“设置字符集'latin1'”查询可以帮助您完成此操作。如果您有任何问题,请为我写评论;)

    1. 在命令行mysql -u xxx -p yourDB< sql.txt中 我这样做并在3年后解决我的问题:))