2

私はphpBB2.xフォーラムをphpBB3.xにアップグレードしており、以前のlatin1エンコーディングからutf8に変換するための最良のオプションを見つけようとしています。現在、phpBB2データベースダンプファイルの作業を続けています。sedを使用してダンプファイルのCHARSETステートメントとSETNAMESステートメントを更新し、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インストールでlatin1を使用する必要があると思いますか?

4

2 に答える 2

2
  1. phpBB2データベースをプレーンな.sqlファイルにエクスポートします。
  2. そのファイルのエンコーディングをlatain1からUnicodeUTF-8(iconv)に変更します。
  3. などのすべての出現箇所をからに変更DEFAULT CHARACTER SETします。SET NAMESlatain1utf8
  4. COLLATION/のすべての出現箇所をCOLLATEからlatain1_*_ciに変更しますutf8_unciode_ci
  5. phpBB2からphpBB3へのコンバーターを実行します。
于 2011-03-19T14:41:45.947 に答える
2

これを行う必要はありません。phpBB2からphpBB3へのコンバーターは、latin1でエンコードされたテーブルからデータをインポートし、utf8でエンコードされたデータを新しいテーブルに格納します。

于 2011-04-01T09:16:38.057 に答える