Креатив
Верный ход
Качество
Надёжность

Для полной многоязычной поддержки, Joomla! использует набор символов Unicode и UTF-8 (Unicode Transformation Format-8) кодировку. Unicode - набор символов, который пытается включать все символы для каждого общего языка.

UTF-8 - кодировка Unicode без потерь, которая использует переменную символьную длину. Это делает его идеальным для использования Интернета, потому что это использует минимальное количество пропускной способности, но представляет весь набор символов Unicode.

При контакте с английскими символами UTF-8 использует те же кодировки в качестве ASCII и ANSII. У этого есть последствие; закодированные UTF-8 строки, которые используют эти символы, кажутся идентичными их ASCII и ANSII альтернативам. Приложения, которые не знают Unicode, следовательно, способны обрабатывать множество UTF-8 строк.

Одно из таких приложений, которые не знают Юникод, является PHP. Мы поэтому должны быть осторожными при управлении строками. PHP предполагает, что все символы составляют восемь битов (один байт), но поскольку закодированные символы UTF-8 могут быть более длинными, это может вызвать повреждение данных Unicode.

Есть модуль PHP, mbstring, который добавляет поддержку символов многобайтовых кодировок; к сожалению, не у всех систем PHP есть mbstring модуль. В Joomla! нам предоставлен статический класс JString; этот класс позволяет нам выполнять многие нормальные функции обработки строк с символами UTF-8.

Этот пример демонстрирует, как мы можем использовать JString, чтобы преобразовать строку в верхний регистр. Обратите внимание на то, что имя метода идентично функции PHP, которую мы обычно использовали бы:

$string = JString::strtoupper($string);

Следующая таблица описывает строковые функции PHP и соответствующие методы JString:

Функция PHP Метод JString Описание
strpos strpos Находит первое вхождение строки в строку.
substr substr Получает часть строки.
strtolower strtolower Преобразовывает строку в нижний регистр.
strtoupper strtoupper Преобразовывает строку в верхний регистр.
strlen strlen Подсчет длины строки.
str_ireplace str_ireplace Возвращает строку, в котором все вхождения подстроки (без учета регистра символов) заменены на другую подстроку.
str_split str_split Разделяет строку на массив.
strcasecmp strcasecmp Сравнивает строки.
strcspn strcspn Получает длину строки прежде, чем символы от других параметров будут найдены.
stristr stristr Находит первое вхождение строки в строку (без учета регистра).
strrev strrev Инвертирует строку.
strspn strspn Считает самый длинный сегмент строки, содержащей определенные символы.
substr_replace substr_replace Заменяет определенную часть строки.
ltrim ltrim Удаляет пробелы слева от строки.
rtrim rtrim Удаляет пробелы справа от строки.
trim trim Удаляет пробел из обоих концов строки.
ucfirst ucfirst Преобразовывает первый символ в верхний регистр.
ucwords ucwords Преобразовывает первый символ каждого слова к верхнему регистру.
  transcode Преобразует строку из одной кодировки в другую. Требуется модуль PHP Iconv.

Вернуться к оглавлению

Войти на сайт

Запомнить меня

Новости

  • Перевод Mastering Joomla! 1.5

    14.03.2013

    Продолжается перевод книги "Mastering Joomla! 1.5". На данный момент полностью переведено 2 главы. Полностью перевод книги...

    Подробнее...

  • Модернизация сайта

    28.05.2012

    Уважаемые посетители! Мы полностью модернизировали наш сайт и надеемся что сейчас им станет...

    Подробнее...