Вам необходимо установить базу данных и Typo3 в uft-8. В Typo3 это с параметром forceCharset = utf-8 и setDBinit = установить имена utf-8 и установить набор символов utf-8 в installtool. Для преобразования базы данных MySQL в utf8 в командной строке введите:
сбрасывали оригинальный БД с помощью следующей команды:
mysqldump -u root -p --opt --default-character-set=latin1 --skip-set-charset DBNAME > DBNAME
Затем с помощью СЭД Я изменил все вхождения слова latin1 в utf8:
sed -e 's/latin1/utf8/g' -i ./DBNAME.sql
Отсюда я создал новую базу данных, а затем импортировал файл дампа.
mysql -p -e "create database DBNAME"
mysql -p --default-character-set=utf8 DBNAME < DBNAME.sql
Вот что руководство MySQL писало о альтер таблице имя_таблице CONVERT TO ...
http://dev.mysql.com/doc/refman/5.0/en/alter-table.html
"Если вы хотите, чтобы изменить характер по умолчанию таблицы и все символы столбцов (CHAR , VARCHAR, TEXT) к новому набору символов, используйте оператор вроде этого:
ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name;
Предупреждение
Предыдущая операция преобразует значения столбцов между наборами символов. Это не то, что вы хотите, если у вас есть столбец в одном наборе символов (например, latin1), но сохраненные значения фактически используют какой-то другой несовместимый набор символов (например, utf8). В этом случае, вы должны сделать следующее для каждого такого столбца:
ALTER TABLE t1 CHANGE c1 c1 BLOB;
ALTER TABLE t1 CHANGE c1 c1 TEXT CHARACTER SET utf8;
Причины этого является то, что работает не существует никакого преобразования при преобразовании в или из BLOB столбцов. "
Если вам необходимо преобразовать содержание, вам необходимо либо сбросить его и использовать мой метод или использовать ALTER TABLE имя_таблицы CHANGE ... для каждого столбца.
Но корректно отображаются другие части сайта. Только indexed_search создает проблемы. '[forceCharset]' is 'utf-8',' [setDBinit] 'is' set names utf8', и я не могу найти 'set character set utf-8'. Сопоставление таблиц 'utf8_unicode_ci', но phpMyAdmin записывает как сводку всех таблиц' latin1_swedish_ci'. Возможно, это и есть причина? Должен ли я преобразовать базу данных так: «ALTER TABLE tbl_name CONVERT TO CHARACTER SET utf8_unicode_ci;»? – testing
ОК, я также выяснил, что это верно только для некоторых страниц. Если я сделаю поиск с другими ключевыми словами, все будет правильно отображаться ... – testing
@testing: Я расширил свой ответ, чтобы охватить базу данных MySQL-8859-1 для преобразования utf-8. – Bytemain