Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Локализация проекта (http://forum.typo3.ru/forumdisplay.php?f=14)
-   -   Иероглифы UTF8 и windows1251 (http://forum.typo3.ru/showthread.php?t=3188)

hworld 22.04.2007 10:52

Иероглифы 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';

PhilD 22.04.2007 11:49

Правильно ли я понял, что сначала был создан сайт с forceCharset = windows-1251, забит контент, а потом вы поставили forceCharset = utf-8 ?

Valery Romanchev 22.04.2007 17:31

Цитата:

Сообщение от hworld (Сообщение 11401)
Когда ставлю кодироку 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.

это скорее всего связано с xml библиотеками в PHP5.
Т.е. нельзя использовать TYPO3 c windows-1251 на сервере с PHP5

hworld 23.04.2007 00:08

да база была в win1251, но я её перекодировал. Тут всё нормально.
Суть в том, что те сообщения которые отображаются неправльно, берутся не из базы, а из файлов локализации xml и а вот в них уже точно кодировка UTF-8.

Мне интересно почему так происходит. По всей видимости идёт двойное преобразование.
Например: UTF-8 из Xml в наглую преобразуется в win1251 затем в utf-8 для отображения на бекэнде.
Мне бы это не мешало, можно и на англ. бекэнде посидеть, но очень хотелось бы разобраться почему так, да и realurl глючит:(
на сервере phpinfo показал
CHARSET windows-1251
SOURCE_CHARSET windows-1251
_SERVER["CHARSET"] windows-1251
_SERVER["SOURCE_CHARSET"] windows-1251
_ENV["CHARSET"] windows-1251

Valery Romanchev 23.04.2007 01:00

главный вопрос:
у Вас пхп какой?

если PHP5 - то забудьте про win-1251, нужно везде юзать utf-8
(или можите попробовать перепилить напильником несколько функций в ядре TYPO3 - браться за это не советую)

Кстати - апач может свою лепту в проблемы с кодировками вносить (если он старый и "русский")
я лечил это в одном месте в .htaccess
Цитата:

CharsetDisable On

hworld 23.04.2007 01:15

Пмогло. Примного благодарен!!!

hworld 23.04.2007 01:50

Рано обрадовался. Теперь в базе происходит двойное преобразование в UTF-8. Вот же ересь :))

теперь нужно отключить преобразование и на стороне MySql??

hworld 23.04.2007 13:25

Временный итог: пришлось остаться на windows-1251 и подправить файл ядра, дабы небыло сообщения об ошибке :) Не люблю подобные выходы. Но пока здравого выхода не нашёл.
Будем искать

PhilD 23.04.2007 14:24

может быть было проще отключить (перенаправить в файл) варнинги, чем править код?


Часовой пояс GMT +4, время: 11:19.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot