Вход

Просмотр полной версии : TYPO3/TemplaVoila, windows-1251 с PHP5 (Апгрейд старых сайтов)


Pavel Antonov
05.08.2007, 19:01
В виду того что много заявлений о том что PHP4 больше не будет поддерживаться, некоторых может коснуться вопрос переноса старых сайтов на PHP5.

Общеизвестная проблема: PHP5 не поддерживает кодировку windows-1251 для XML, потому апгрейд в лоб не возможен.

Я подготовил патчи для 3.8.1/4.1.1+ которые решают данную проблему. Патч выполняет предварительную перекодировку XML в utf-8 и обратное раскодирование после парсинга данных.

Как применить патч: patch class.t3lib_div.php < div_X.X.X.patch

Внимание:
Необходим модуль mbstrings
Старые версии TemplaVoila не вставлают кодировку XML. Обязательно добавить в начало XML в DS: <?xml version="1.0" encoding="windows-1251" standalone="yes" ?>
Старый static_tables может пытаться переопределять $this. Переименуйте его в $_this.Все, теперь сайты на windows-1251, могут работать с PHP5! Можно конечно и новые делать с 1251, но есть же utf, 8=) Удачи!

radandri
23.10.2007, 02:30
А где вводить patch class.t3lib_div.php < div_X.X.X.patch ?
Может ктонить выложить пропатченый class.t3lib_div.php под 4.1.1 ?

filippoff
24.03.2008, 04:29
utf-8 это прекрасно, но у меня и сайт и база в utf-8 а xml возвращается в xajax в 1251. откуда лезет - не пойму :о(

filippoff
24.03.2008, 04:54
поборол дописав в config помимо locale_all = ru_RU.utf8

config.metaCharset = utf-8
config.additionalHeaders = Content-Type:text/html;charset=utf-8

Илья
17.06.2008, 00:28
Старый static_tables может пытаться переопределять $this. Переименуйте его в $_this.

А можно пояснений по этому пункту?
Где переименовывать $this в $_this?

Pavel Antonov
17.06.2008, 01:55
А можно пояснений по этому пункту?
Где переименовывать $this в $_this?

Я уже толком не помню. Включите отображение ошибок, если ошибка про попытку переименовывания $this появится она так же укажет и на конкретный файл.

Pavel Antonov
24.07.2008, 16:15
UPD: Патч работает с версией 4.1.7

vasyl'0k
01.10.2008, 16:26
А где вводить patch class.t3lib_div.php < div_X.X.X.patch ?
Может ктонить выложить пропатченый class.t3lib_div.php под 4.1.1 ?

Смотри здесь - http://shaman.asiadata.ru/node/74

Dronch
22.01.2009, 22:18
Я только начал изучать Typo3, второй день. И столкнулся с этой проблемой. Опишите пожалуйста подробно, как именно использовать этот патч? Версия 4.2.4
И еще вопрос. Как удалить шаблон из Typo3?

Falcon
23.01.2009, 02:43
Dronch
через ssh
сначало
#cd до папки с файлом class.t3lib_div.php
затем
#patch class.t3lib_div.php < div_X.X.X.patch где Х.Х.Х версия патча (название скачаного выше файла)

но у меня возникли некоротые ошибки при этой процедуре и я после прочтения
Главы Ручное редактирование файлов с кодом. вот здесь http://shaman.asiadata.ru/node/74 блокнотом открыл оба файла и заменил код в исходном

>>>И еще вопрос. Как удалить шаблон из Typo3?
ты используешь TemplaVoila?

Dronch
23.01.2009, 02:44
>>ты используешь TemplaVoila?
Да.

Falcon
23.01.2009, 03:03
тогда зайди в Storage Folder в режиме список
и удали оттуда DS и TO
или просто создай DS и TO из новой шаблон-страницы
и сохрани его в этот шаблон

Dronch
23.01.2009, 11:37
тогда зайди в Storage Folder в режиме список
и удали оттуда DS и TO
или просто создай DS и TO из новой шаблон-страницы
и сохрани его в этот шаблон

Я удалил DS и TO. Теперь нужно удалить файлы шаблона из папки templates?

Dronch
23.01.2009, 12:47
поборол дописав в config помимо locale_all = ru_RU.utf8

config.metaCharset = utf-8
config.additionalHeaders = Content-Type:text/html;charset=utf-8

Подскажите, где искать этот файл конфиг?
Нашел localconf.php, но там нет строки locale_all = ru_RU.utf8.

dmartynenko
23.01.2009, 13:21
Подскажите, где искать этот файл конфиг?
Нашел localconf.php, но там нет строки locale_all = ru_RU.utf8.

Это не файл конфига.
Эти строки прописываются в TS (TypoScript) шаблоне сайта.

Dronch
23.01.2009, 20:49
А кто нибудь может скинуть пропатченный class.t3lib_div.php для версии 4.2.4 ?
toandreich@gmail.com

Dronch
24.01.2009, 22:21
тогда зайди в Storage Folder в режиме список
и удали оттуда DS и TO
или просто создай DS и TO из новой шаблон-страницы
и сохрани его в этот шаблон

Я сделал, но дерево страниц шаблона, осталось. Как удалить шаблон полностью, что бы ничего не осталось?

Dronch
26.01.2009, 15:18
У меня стоит версия Ver. 4.2.4. Почему выскакивает ошибка Unsupported target encoding "windows-1251" Или эту версию тоже надо патчить?

dmartynenko
26.01.2009, 16:43
Эта ошибка означает что у вас есть сохраненный XML (FlexForm / TV) в базе в такой кодировке.
Надо или найти и устранить (исправить) этот XML, или патчить - так как XML парсер из PHP5 поддерживает только кодировку UTF8.

dmartynenko
27.01.2009, 16:46
А кто нибудь может скинуть пропатченный class.t3lib_div.php для версии 4.2.4 ?

Если еще не нашли, то можете сделать сами. Возмите пропатченый от старой версии и внесите аналогичные изменения в функцию xml2array()

Yarche
02.02.2009, 05:28
Всем вечер добрый!
Накопилось несколько вопросов.
Я скачал и разпаковал "wec_starter-4_2_3-1_0_0_fullserver.zip",
запустил http://localhost:4001/phpmyadmin/ создал новую базу "utf8_unicode_ci".
затем очистил папку "htdocs" и перезалил в неё "wec_starter-4_2_3-1_0_0" для стандартной установки на UNIX-вый сервер с предустановленными данными.

В админке "редактор страниц" сначала вылетало предупреждение "Warning.......................2308"

Пропатчил файл "class.t3lib_div.php" он почему то патчится с ошибками.

В админке вылетает новая ошибка "Warning: xml_parser_set_option() [function.xml-parser-set-option]: Unsupported target encoding "windows-1251" in e:\and-you.su\CMS\typo\UTF8\htdocs\t3lib\class.t3lib_div. php on line 2309"

Честно говоря это предупреждение закрывает пол экрана и не даёт возможности сохранять изменения так как елементы страницы накладываются друг на друга.

И ещё интересное наблюдение База данных у меня UTF8 а браузер в котором просматриваю сотворённое - кирилические символы отображает только в Win-1251.

Версии:
Typo3 4.2.3
PHP 5.1.4
Apache 1.3.35
CGI 1.1
MySQL 4.1.7

Valery Romanchev
02.02.2009, 12:38
Всем вечер добрый!
Накопилось несколько вопросов.
Я скачал и разпаковал "wec_starter-4_2_3-1_0_0_fullserver.zip",
запустил http://localhost:4001/phpmyadmin/ создал новую базу "utf8_unicode_ci".
затем очистил папку "htdocs" и перезалил в неё "wec_starter-4_2_3-1_0_0" для стандартной установки на UNIX-вый сервер с предустановленными данными.

В админке "редактор страниц" сначала вылетало предупреждение "Warning.......................2308"

Пропатчил файл "class.t3lib_div.php" он почему то патчится с ошибками.

В админке вылетает новая ошибка "Warning: xml_parser_set_option() [function.xml-parser-set-option]: Unsupported target encoding "windows-1251" in e:\and-you.su\CMS\typo\UTF8\htdocs\t3lib\class.t3lib_div. php on line 2309"

Честно говоря это предупреждение закрывает пол экрана и не даёт возможности сохранять изменения так как елементы страницы накладываются друг на друга.

И ещё интересное наблюдение База данных у меня UTF8 а браузер в котором просматриваю сотворённое - кирилические символы отображает только в Win-1251.

Версии:
Typo3 4.2.3
PHP 5.1.4
Apache 1.3.35
CGI 1.1
MySQL 4.1.7

помоему Вам не надо ничего патчить и не надо вообще читать эту ветку - она не касается Вашей ситуации

Yarche
02.02.2009, 21:14
Спасибо.
Но ведь ошибка в админке присутствует в любом случае

В админке вылетает новая ошибка "Warning: xml_parser_set_option() [function.xml-parser-set-option]: Unsupported target encoding "windows-1251" in e:\and-you.su\CMS\typo\UTF8\htdocs\t3lib\class.t3lib_div. php on line 2308"

И так и не ясен вопрос с кодировкой

База данных у меня UTF8 а браузер в котором просматриваю сотворённое - кирилические символы отображает только в Win-1251.

Yarche
02.02.2009, 21:16
Должен поправиться ошибка появляется в руссифицированном варианте админки.

Falcon
04.02.2009, 01:29
Пропатчил файл "class.t3lib_div.php" он почему то патчится с ошибками.
мне кажется в этом твоя проблема.

у меня было тоже самое (патчился ошибками.) моё решение описано на предидущей странице

garik
27.01.2010, 01:38
спасибо за патч, все исправилось)