Какой мой лучший вариант для преобразования моей базы данных 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 ответа
Решение
- Экспорт базы данных phpBB2 в простой файл.sql.
- Изменить кодировку этого файла с latain1 на Unicode UTF-8 (
iconv
). - Изменить все вхождения
DEFAULT CHARACTER SET
,SET NAMES
и т.д. отlatain1
вutf8
, - Изменить все вхождения
COLLATION
/COLLATE
отlatain1_*_ci
вutf8_unciode_ci
- Запустите конвертер phpBB2 в phpBB3.
Там нет необходимости делать это. Конвертер phpBB2 в phpBB3 импортирует данные из латинских таблиц в кодировке и сохраняет их в новых таблицах в кодировке utf8.