PHP 5.0
При переносе сайта на другой сервер, typo3 отказалась работать. Вернее бакэнд работает отлично, но вот с генерацией страниц во фронтэнде вот такая беда:
xml_parser_set_option(): Unsupported target encoding \"windows-1251\" in /usr/local/apache/sites/rabakan/t3lib/class.t3lib_div.php on line 1818 Ругается на кодировку windows-1251. Решаема ли эта проблема? |
В исходниках в этой страке указано, что возможны только следующие кодировки для сохранения ярлыков во внутренних системных локализационных файлах:
us-ascii / utf-8 / iso-8859-1 По видимому, это проблема не php5.0, а TYPO3 3.7.0 при установке $TYPO3_CONF_VARS['BE']['forceCharset']=windows-1251 Эта комбинация видимо не работает. |
у меня typo3 3.7.0 стоит на
PHP version 4.3.9 MySQL version 4.0.20-standard с кодировкой проблем нет |
У меня 3.7 стояла на PHP 4, все работало окей.
Да и сейчас, все работает отлично, если не считать два экрана сообщений об ошибках, а ниже весь контент идет как и положено... Вот что написано в исходниках /usr/local/apache/sites/rabakan/t3lib/class.t3lib_div.php on line 1818 // PHP5 fix of charset awareness: // Problem is: PHP5 apparently detects the charset of the XML file (or defaults to utf-8) and will AUTOMATICALLY convert the content to either utf-8, iso-8859-1 or us-ascii. PHP4 just passed the content through without taking action regarding the charset. // In TYPO3 we expect that the charset of XML content is NOT handled in the parser but internally in TYPO3 instead. THerefore it would be very nice if PHP5 could be configured to NOT process the charset of the files. But this is not possible for now. // What we do here fixes the problem but ONLY if the charset is utf-8, iso-8859-1 or us-ascii. That should work for most TYPO3 installations, in particular if people use utf-8 which we highly recommend. if ((double)phpversion()>=5) { unset($ereg_result); ereg('^[[:space:]]*<\\?xml[^>]*encoding[[:space:]]*=[[:space:]]*\"([^\"]*)\"',substr($string,0,200),$ereg_result); $theCharset = $ereg_result[1] ? $ereg_result[1] : ($TYPO3_CONF_VARS['BE']['forceCharset'] ? $TYPO3_CONF_VARS['BE']['forceCharset'] : 'iso-8859-1'); @xml_parser_set_option($parser, XML_OPTION_TARGET_ENCODING, $theCharset); // us-ascii / utf-8 / iso-8859-1 } Видимо это проблема PHP. Есть ли способ отключить эти сообщения? |
Установлена ли опция
['BE']['forceCharset']=windows-1251 в InstallToole? Если нет, можно попробовать установить. |
Установлена.
Решил проблему отключив обработку ошибок у функции: @xml_parser_set_option Н появилась куча других багов. пока я решил откзаться от идеи переезда на пхп 5.0 |
Мне кажется нет связи с PHP5 у меня на локалхосте
работает |
Часовой пояс GMT +4, время: 13:08. |
Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot