После обновления TYPO3 до 6.2 символы с умлаутом не отображаются должным образом.

Я обновил свой веб-сайт TYPO3 с 4.1 до 6.2.9. Теперь умлаутированные символы [немецкие буквы] не отображаются должным образом. Есть ли идея, чтобы исправить это.


person Hoja.M.A    schedule 31.12.2014    source источник
comment
Вы проверили документацию? wiki.typo3.org/UTF-8_support (обратите внимание на примечание вверху, которое относится к вашему кейс)   -  person Jcl    schedule 31.12.2014
comment
Можете ли вы кратко, в чем проблема. Я проверил файл localconf. Я не устанавливал никаких переменных, таких как $TYPO3_CONF_VARS['BE']['forceCharset']   -  person Hoja.M.A    schedule 31.12.2014
comment
В основном вам нужно убедиться, что все Apache и php.ini настроены на utf-8, и ваша база данных mysql находится в формате utf-8 (вы можете использовать SHOW TABLE STATUS для проверки сопоставления). На этой странице, на которую я ссылаюсь, содержится вся необходимая информация, но она выходит за рамки того, что было бы приемлемо для переполнения стека, поскольку это проблема конфигурации программного пакета, а не вопрос программирования.   -  person Jcl    schedule 31.12.2014
comment
А как насчет вашей базы данных? это UTF-8 (таблицы и столбцы?)   -  person biesior    schedule 31.12.2014
comment
@biesior: это utdf-8-general ci   -  person Hoja.M.A    schedule 05.01.2015
comment
@ Hoja.MA Действительно ли таблицы используют эту кодировку? У меня было так, что данные были закодированы как utf8, но вместо умляута в базе данных было сохранено что-то вроде ü (правильно закодированное, а не символ юникода, отображаемый с использованием неправильной кодировки). В этом случае помогло экспортировать базу данных с помощью mysqldump с --default-character-set=latin1, а затем заменить все вхождения CHARSET latin1 на CHARSET utf8 в дампе. После этого повторный импорт произвел правильную базу данных. Делайте это на копии, конечно.   -  person Jost    schedule 05.01.2015
comment
да я тоже так пробовала..   -  person Hoja.M.A    schedule 05.01.2015
comment
Также я использовал расширение конвертации utf-8 в TYPO3. Но это испортило мои столы.   -  person Hoja.M.A    schedule 05.01.2015


Ответы (1)


У меня были похожие проблемы при обновлении с 4.1 до 4.2. Следующие абзацы — заметки из моего блога. Надеюсь, поможет.

Обновление TYPO3 4.1 (и более ранних версий) до 4.2 (и более поздних)

Некоторые поля БД в версии 4.1 имеют тип BLOB (например, шаблоны TS). Большинство этих полей преобразуются в ТЕКСТ в версии 4.2. Теперь подумайте о следующем сценарии, который кажется обычным. Шаблон был сохранен с использованием TYPO3 4.1 и БД с использованием latin1 (ISO-8859-X) в качестве набора символов. Затем БД преобразовалась в UTF-8, и TYPO3 был соответствующим образом настроен. Вы думаете, что закончили, потому что все будет работать. Но в большинстве случаев в полях BLOB все еще есть данные в формате latin1. Вы просто не видите. Как только вы обновите TYPO3 до версии 4.2, эти BLOB-объекты будут преобразованы в TEXT, при условии, что данные имеют кодировку UTF-8. Но это latin1, потому что BLOB раньше не конвертировался. Результат - сломанный шаблон. Многие люди в списках рассылки жалуются на отсутствие целых частей. Причина в недопустимых не ascii-символах (таких как умлауты äöüé¢ и т. д.), которые нарушают представление шаблона.

Как этого избежать?

Если вы меняете кодировку TYPO3 и/или вашей БД, преобразуйте те поля BLOB, которые были бы изменены обновлением TYPO3, в TEXT перед преобразованием кодировки или убедитесь, что данные BLOB преобразованы иначе.

Подробнее о UTF-8 и более ранних версиях TYPO3: https://stmllr.net/blog/thinking-about-utf-8-character-set-conversion-in-typo3/ Лицензия Creative Commons CC BY-SA 3.0

person stmllr    schedule 19.02.2015
comment
#stlmllr Спасибо за ваш отзыв - person Hoja.M.A; 16.07.2015