Иероглифы UTF8 и windows1251
Когда ставлю кодироку UTF8, то BackEnd сходит с ума. Весь русский текст заменяется иероглифами (похоже на просмотр теста UTF8 в win-1251 кодировке). Причём дерево сайта отображается нормально (база UTF-8). FontEnd работает нормально.
При windows-1251 всё бы устраивало, но вот ошибка надоедливая выскакивает: Warning: xml_parser_set_option() [function.xml-parser-set-option]: Unsupported target encoding "windows-1251" in /home/хххххх/public_html/typo3_src-4.1.1/t3lib/class.t3lib_div.php on line 2173На другом хостинге с такими же настройками всё работает нормально. Может это связано с локалью Apach'a или PHP. Посоветуйте как обойти. Описание: Версия 4.1.1 Хостинг у Агавы. прописано $TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8; SET character_set_connection = utf8;'; $TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8'; |
Правильно ли я понял, что сначала был создан сайт с forceCharset = windows-1251, забит контент, а потом вы поставили forceCharset = utf-8 ?
|
Цитата:
Т.е. нельзя использовать TYPO3 c windows-1251 на сервере с PHP5 |
да база была в win1251, но я её перекодировал. Тут всё нормально.
Суть в том, что те сообщения которые отображаются неправльно, берутся не из базы, а из файлов локализации xml и а вот в них уже точно кодировка UTF-8. Мне интересно почему так происходит. По всей видимости идёт двойное преобразование. Например: UTF-8 из Xml в наглую преобразуется в win1251 затем в utf-8 для отображения на бекэнде. Мне бы это не мешало, можно и на англ. бекэнде посидеть, но очень хотелось бы разобраться почему так, да и realurl глючит:( на сервере phpinfo показал CHARSET windows-1251 |
главный вопрос:
у Вас пхп какой? если PHP5 - то забудьте про win-1251, нужно везде юзать utf-8 (или можите попробовать перепилить напильником несколько функций в ядре TYPO3 - браться за это не советую) Кстати - апач может свою лепту в проблемы с кодировками вносить (если он старый и "русский") я лечил это в одном месте в .htaccess Цитата:
|
Пмогло. Примного благодарен!!!
|
Рано обрадовался. Теперь в базе происходит двойное преобразование в UTF-8. Вот же ересь :))
теперь нужно отключить преобразование и на стороне MySql?? |
Временный итог: пришлось остаться на windows-1251 и подправить файл ядра, дабы небыло сообщения об ошибке :) Не люблю подобные выходы. Но пока здравого выхода не нашёл.
Будем искать |
может быть было проще отключить (перенаправить в файл) варнинги, чем править код?
|
Часовой пояс GMT +4, время: 11:19. |
Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot