2011-03-19 47 views
2

我正在升级phpBB 2.x论坛到phpBB 3.x,我试图找出什么是从以前的latin1编码转换为utf8的最佳选择。现在我仍然只是在处理我的phpBB2数据库转储文件。我用的sed更新转储文件的字符集和Set名称语句,然后试图通过运行的iconv它:将我的phpbb2 latin1数据库转换为phpbb3 utf8数据库的最佳选择是什么?

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安装上使用latin1吗?

回答

2
  1. 将phpBB2数据库导出为普通的.sql文件。
  2. 将该文件的编码从latain1更改为Unicode UTF-8(iconv)。
  3. DEFAULT CHARACTER SET,SET NAMES等发生的所有变化从latain1更改为utf8
  4. 变化从latain1_*_ciCOLLATION/COLLATE所有出现utf8_unciode_ci
  5. 运行的phpbb2来到phpBB3转换器。
+0

当我通过iconv运行phpBB2转储时,我得到了很多垃圾字符。但是,如果我只执行其他步骤(转储为拉丁文,替换转储中的char集,导入到新的utf8数据库),它似乎正在工作。我必须等到确定完成后才能确定。 – 2011-03-19 15:10:10

2

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

相关问题