Какой мой лучший вариант для преобразования моей базы данных phpbb2 latin1 в базу данных phpbb3 utf8?

Я обновляю форум phpBB 2.x до phpBB 3.x и пытаюсь выяснить, какой вариант лучше всего конвертировать в utf8 из предыдущей кодировки latin1. Сейчас я все еще работаю над файлом дампа базы данных 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

Это не хорошо. Все виды мусора. Как вы думаете, я должен просто использовать latin1 на новой установке phpBB3?

2 ответа

Решение
  1. Экспорт базы данных phpBB2 в простой файл.sql.
  2. Изменить кодировку этого файла с latain1 на Unicode UTF-8 (iconv).
  3. Изменить все вхождения DEFAULT CHARACTER SET, SET NAMES и т.д. от latain1 в utf8,
  4. Изменить все вхождения COLLATION / COLLATE от latain1_*_ci в utf8_unciode_ci
  5. Запустите конвертер phpBB2 в phpBB3.

Там нет необходимости делать это. Конвертер phpBB2 в phpBB3 импортирует данные из латинских таблиц в кодировке и сохраняет их в новых таблицах в кодировке utf8.

Другие вопросы по тегам