Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for 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 |
Senior Member
Регистрация: 14.08.2003
Сообщений: 416
|
Супер идея!
Было бы неплохо включить эту функцию в качестве Extension на typo3.org. Антон, если Вы позволите, я сделаю расширение от вашего имени. В знак благодарности могу описать здесь на сайте на русском, как это сделать. Хотя, может попробуете сами? |
17.05.2003, 23:04 | #3 |
Новенький
Регистрация: 29.06.2003
Сообщений: 10
|
Могу предложить более простое (на мой взгляд) решение этой проблемы. Я тоже ковырялся в исходниках и решил проблему своим путем:
function recodeString($string) { $encodings = explode("..", $this->TTFLocaleConv); return(iconv($encodings[0],$encodings[1],$string)); } Необходимо расширение iconv. Оно есть на Win32 системах. |
17.05.2003, 23:09 | #4 |
Новенький
Регистрация: 29.06.2003
Сообщений: 10
|
Кстати, реализовать это дело в качестве расширение скорее всего не удастся. Я пробовал сделать законченное решение на основе XCLASS, но полный облом. Дело в том, что класс gifBuilder наследуется от stdGraphic напрямую из php-кода, не учитывая перегрузки заданные через массив XCLASS. Хотя может я не сильно глубоко залез
|
17.05.2003, 23:21 | #5 |
Новенький
Регистрация: 29.06.2003
Сообщений: 10
|
Кстати, реализовать это дело в качестве расширение скорее всего не удастся. Я пробовал сделать законченное решение на основе XCLASS, но полный облом. Дело в том, что класс gifBuilder наследуется от stdGraphic напрямую из php-кода, не учитывая перегрузки заданные через массив XCLASS. Хотя может я не сильно глубоко залез
|
14.12.2004, 14:32 | #6 |
Senior Member
Регистрация: 27.02.2006
Сообщений: 131
|
делается все проще
в Install прописываете [GFX][TTFLocaleConv] = !пусто! [t3lib_cs_convMethod] = !пусто! [t3lib_cs_utils] = !пусто! [forceCharset] = utf-8 |