Mysql 将phpbb2 latin1 DB转换为phpbb3 utf8 DB的最佳选项是什么?

Mysql 将phpbb2 latin1 DB转换为phpbb3 utf8 DB的最佳选项是什么?,mysql,utf-8,character-encoding,phpbb,Mysql,Utf 8,Character Encoding,Phpbb,我正在将一个phpbb2.x论坛升级到phpbb3.x,并试图找出从以前的拉丁1编码转换为utf8的最佳选项。现在我还在处理我的phpBB2数据库转储文件。我使用sed更新转储文件中的CHARSET和SET NAMES语句,然后尝试通过iconv运行它: cat phpbb2.sql | sed 's/SET NAMES latin1/SET NAMES utf8/g' > tmp mv tmp phpbb2_utf8.sql cat phpbb2_utf8.sql | sed 's/C

我正在将一个phpbb2.x论坛升级到phpbb3.x,并试图找出从以前的拉丁1编码转换为utf8的最佳选项。现在我还在处理我的phpBB2数据库转储文件。我使用sed更新转储文件中的CHARSET和SET NAMES语句,然后尝试通过iconv运行它:

cat phpbb2.sql | sed 's/SET NAMES latin1/SET NAMES utf8/g' > tmp
mv tmp phpbb2_utf8.sql

cat phpbb2_utf8.sql | sed 's/CHARSET=latin1/CHARSET=utf8/g' > tmp
mv tmp phpbb2_utf8.sql

iconv -f latin1 -t utf8  phpbb2_utf8.sql > phpbb2_utf8_iconv.sql
这不好。各种各样的垃圾。你认为我应该在新的phpBB3安装上使用拉丁语吗

  • 将phpBB2数据库导出到plain.sql文件
  • 将该文件的编码从latain1更改为Unicode UTF-8()
  • 将所有出现的
    默认字符集
    集名称
    等从
    latain1
    更改为
    utf8
  • 将所有出现的
    COLLATION
    /
    COLLATE
    latain1\u*\ u ci
    更改为
    utf8\u uncode\u ci
  • 运行phpBB2至phpBB3转换器

  • 没有必要这样做。phpBB2到phpBB3转换器将从latin1编码的表导入数据,并将其以utf8编码的方式存储在新表中。

    当我通过iconv运行phpBB2转储时,会得到大量垃圾字符。但是,如果我只执行其他步骤(转储为拉丁语,替换转储中的字符集,导入新的utf8数据库),它似乎可以工作。不过,我得等到一切都结束后才能确定。