2011-03-19 48 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編碼中。

相關問題