Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   PHP 5.0 (http://forum.typo3.ru/showthread.php?t=479)

андрей 25.10.2004 13:03

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.

Решаема ли эта проблема?

Andreas Schwarzkopf 25.10.2004 16:06

В исходниках в этой страке указано, что возможны только следующие кодировки для сохранения ярлыков во внутренних системных локализационных файлах:
us-ascii / utf-8 / iso-8859-1

По видимому, это проблема не php5.0, а TYPO3 3.7.0 при установке
$TYPO3_CONF_VARS['BE']['forceCharset']=windows-1251
Эта комбинация видимо не работает.

Сергей 25.10.2004 20:49

у меня typo3 3.7.0 стоит на
PHP version 4.3.9
MySQL version 4.0.20-standard

с кодировкой проблем нет


андрей 26.10.2004 05:30

У меня 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.
Есть ли способ отключить эти сообщения?

Andreas Schwarzkopf 26.10.2004 13:14

Установлена ли опция

['BE']['forceCharset']=windows-1251

в InstallToole?

Если нет, можно попробовать установить.

андрей 26.10.2004 13:50

Установлена.

Решил проблему отключив обработку ошибок у функции: @xml_parser_set_option

Н появилась куча других багов. пока я решил откзаться от идеи переезда на пхп 5.0

OM 20.11.2004 00:42

Мне кажется нет связи с PHP5 у меня на локалхосте
работает


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

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