Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   FAQ (Часто задаваемые вопросы) (http://forum.typo3.ru/forumdisplay.php?f=26)
-   -   TYPO3/TemplaVoila, windows-1251 с PHP5 (Апгрейд старых сайтов) (http://forum.typo3.ru/showthread.php?t=4231)

Pavel Antonov 05.08.2007 19:01

TYPO3/TemplaVoila, windows-1251 с PHP5 (Апгрейд старых сайтов)
 
Вложений: 1
В виду того что много заявлений о том что 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

Внимание:
  1. Необходим модуль mbstrings
  2. Старые версии TemplaVoila не вставлают кодировку XML. Обязательно добавить в начало XML в DS: <?xml version="1.0" encoding="windows-1251" standalone="yes" ?>
  3. Старый 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

Цитата:

Сообщение от Pavel Antonov
Старый static_tables может пытаться переопределять $this. Переименуйте его в $_this.

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

Pavel Antonov 17.06.2008 01:55

Цитата:

Сообщение от Илья (Сообщение 19502)
А можно пояснений по этому пункту?
Где переименовывать $this в $_this?

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

Pavel Antonov 24.07.2008 16:15

UPD: Патч работает с версией 4.1.7

vasyl'0k 01.10.2008 16:26

Цитата:

Сообщение от radandri (Сообщение 15461)
А где вводить 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

Цитата:

Сообщение от Falcon (Сообщение 23226)
тогда зайди в Storage Folder в режиме список
и удали оттуда DS и TO
или просто создай DS и TO из новой шаблон-страницы
и сохрани его в этот шаблон

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

Dronch 23.01.2009 12:47

Цитата:

Сообщение от filippoff (Сообщение 18007)
поборол дописав в 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

Цитата:

Сообщение от Dronch (Сообщение 23230)
Подскажите, где искать этот файл конфиг?
Нашел 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

Цитата:

Сообщение от Dronch (Сообщение 23238)
А кто нибудь может скинуть пропатченный 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

Цитата:

Сообщение от Yarche (Сообщение 23310)
Всем вечер добрый!
Накопилось несколько вопросов.
Я скачал и разпаковал "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

Цитата:

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

мне кажется в этом твоя проблема.

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

garik 27.01.2010 01:38

спасибо за патч, все исправилось)


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

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