Russian TYPO3 community

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

elezeo 04.10.2011 19:04

strtolower() портит текст
 
в расширении имеется строка вида
Код:

ucfirst(strtolower($this->pi_getLL('label_xxxxx')))
Хитро канечно придумано, но не мною!
Так вот. После такой обработки текста из языкового файла выводится на экран крякозяброй.
Без обработки конечно же нормально.
Как решить сея проблему? Может есть тайповская функция для работы с utf8 текстами? Или дополнение какое-нибудь.
Понятно, что на выходе этой функции замененные сисволы уже в другой кодировке.

dmartynenko 04.10.2011 22:34

Посмотрите на аналогичные PHP функции mb_* (из библиотеки mbstring).

ucfirst и strtolower работают только с однобайтовыми кодировками.

elezeo 04.10.2011 23:29

Это повод создания таких функций как:
t3lib_div::strtolower(), t3lib_div::strtoupper(), t3lib_div::ucfirst() и t3lib_div::lcfirst()
Тока кто бы этим занялся :)

dmartynenko 05.10.2011 12:06

Напишите в баг трекер пожелание.

Но задача специфическая, скорее используемая для FE. В ядре и BE нигде не припомню что где-то операции с регистром символов делаются.

jettero 09.10.2011 06:24

Цитата:

Сообщение от elezeo (Сообщение 32110)
Это повод создания таких функций как:
t3lib_div::strtolower(), t3lib_div::strtoupper(), t3lib_div::ucfirst() и t3lib_div::lcfirst()
Тока кто бы этим занялся :)

t3lib_div::strtolower() и t3lib_div::strtoupper() уже есть, но конвертируют только латинские символы, вы можете открыть тикет в баг трекере, чтобы их сделали мультибайтными или можете сами сделать патч и отправить на одобрение.


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

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