Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Обсуждение общих технических вопросов > Общие вопросы

Ответ
 
Опции темы Опции просмотра
Старый 11.05.2003, 23:35   #1
Антон Мельников
Новенький
 
Регистрация: 07.06.2003
Сообщений: 18
По умолчанию если на сервере нет recode_string ..

Если вы попытаетесь в installTool (или руками в localconf.php) установить [GFX][TTFLocaleConv] = cp1251..UTF-8, чтобы сделать на вашем сайте меню в графике на русском, вы могли получить следущую ошибку:

Fatal error: Call to undefined function: recode_string() in /www/typo3_src-3.5.0/t3lib/class.t3lib_stdgraphic.php on line 441

Скорее всего, ваш PHP скомпилирован без поддержки библиотеки recode. Если нельза перекомпилировать PHP, можно сделать перекодировку cp1251 -> UTF-8 самому, заменив в typo3_src-3.5.0/t3lib/class.t3lib_stdgraphic.php функцию recodeString($string) на вот такую:

function recodeString($string){
$out = '';
for ($i=0; $i < strlen($string); $i++) {
$char = ord($string[$i]);
$out .= ($char > 192)?"&#".(1040+($char-192)).";":$string[$i];
}
return $out;
}

У меня пока работает
(помогло вот это: www.webclass.ru/eng/Tutorials/PHP/Setting_Cyrillic_for.html )
Антон Мельников вне форума   Ответить с цитированием
Старый 17.05.2003, 22:48   #2
Andreas Schwarzkopf
Senior Member
 
Регистрация: 14.08.2003
Сообщений: 416
По умолчанию

Супер идея!

Было бы неплохо включить эту функцию в качестве Extension на typo3.org.

Антон, если Вы позволите, я сделаю расширение от вашего имени. В знак благодарности могу описать здесь на сайте на русском, как это сделать. Хотя, может попробуете сами?
Andreas Schwarzkopf вне форума   Ответить с цитированием
Старый 17.05.2003, 23:04   #3
Вячеслав Анисимов / Averve.Net
Новенький
 
Регистрация: 29.06.2003
Сообщений: 10
По умолчанию

Могу предложить более простое (на мой взгляд) решение этой проблемы. Я тоже ковырялся в исходниках и решил проблему своим путем:

function recodeString($string) {
$encodings = explode("..", $this->TTFLocaleConv);
return(iconv($encodings[0],$encodings[1],$string));
}

Необходимо расширение iconv. Оно есть на Win32 системах.
Вячеслав Анисимов / Averve.Net вне форума   Ответить с цитированием
Старый 17.05.2003, 23:09   #4
Вячеслав Анисимов / Averve.Net
Новенький
 
Регистрация: 29.06.2003
Сообщений: 10
По умолчанию

Кстати, реализовать это дело в качестве расширение скорее всего не удастся. Я пробовал сделать законченное решение на основе XCLASS, но полный облом. Дело в том, что класс gifBuilder наследуется от stdGraphic напрямую из php-кода, не учитывая перегрузки заданные через массив XCLASS. Хотя может я не сильно глубоко залез
Вячеслав Анисимов / Averve.Net вне форума   Ответить с цитированием
Старый 17.05.2003, 23:21   #5
Вячеслав Анисимов / Averve.Net
Новенький
 
Регистрация: 29.06.2003
Сообщений: 10
По умолчанию

Кстати, реализовать это дело в качестве расширение скорее всего не удастся. Я пробовал сделать законченное решение на основе XCLASS, но полный облом. Дело в том, что класс gifBuilder наследуется от stdGraphic напрямую из php-кода, не учитывая перегрузки заданные через массив XCLASS. Хотя может я не сильно глубоко залез
Вячеслав Анисимов / Averve.Net вне форума   Ответить с цитированием
Старый 14.12.2004, 14:32   #6
Konstantin
Senior Member
 
Регистрация: 27.02.2006
Сообщений: 131
По умолчанию

делается все проще
в Install прописываете

[GFX][TTFLocaleConv] = !пусто!

[t3lib_cs_convMethod] = !пусто!

[t3lib_cs_utils] = !пусто!

[forceCharset] = utf-8


Konstantin вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


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


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

Хостинг и техническая поддержка: TYPO3 Лаборатория