Приднестровская поддержка XOOPS
С помощью функции convert_cyr_string() можно преобразовать строку из одной кодировки в другую.
Функция имеет следующий формат:
convert_cyr_string(<Исходная строка>, <Исходная кодировка>, <Нужная кодировка>);
Параметры <Исходная кодировка> и <Нужная кодировка> могут принимать следующие значения:
□ a или d — кодировка x-cp866;
□ i — кодировка iso8859-5;
□ k — кодировка KOI8-R;
□ m — кодировка x-mac-cyrillic;
□ w — кодировка windows-1251 (cp1251).
Пример использования функции:
$str = "уФТПЛБ";
echo convert_cyr_string($str, "k", "w");
// Выведет: Строка
Функция iconv() также преобразовывает символы строки из одной кодировки в другую. Функция имеет следующий формат:
iconv(<Исходная кодировка>, <Нужная кодировка>[<Флаг>], <Исходная строка>);
Пример преобразования строки из кодировки windows-1251 в кодировку UTF-8:
$str = iconv("windows-1251", "UTF-8", "Строка");
Необязательный параметр <Флаг> может принимать следующие значения:
□ //TRANSLIT — если символа нет в нужной кодировке, он заменяется одним или несколькими аналогами;
□ //IGNORE — символы, которых нет в нужной кодировке, будут опущены.
Зачем нужен это параметр? Если мы преобразовываем кодировку windows-1251 в UTF-8, то в этом параметре нет необходимости. А вот если наоборот, то может возникнуть ситуация, что символа нет в нужной кодировке, так как кодировка UTF-8 позволяет хранить несколько тысяч символов, а кодировка
windows-1251 только 256 символов. Если не указать этот параметр, то строка будет обрезана до первого недопустимого символа. Пример:
$str = iconv("UTF-8", "windows-1251//IGNORE", "Строка");
Вместо функции iconv() можно использовать функцию mb_convert_encoding(). Функция имеет следующий формат:
mb_convert_encoding(<Исходная строка>, <Нужная кодировка>, <Исходная кодировка>);
Пример преобразования строки из кодировки UTF-8 в кодировку windows-1251:
$str = mb_convert_encoding("Строка", "windows-1251", "UTF-8");
Отправитель | Нити |
---|
2 пользователь(ей) активно (2 пользователь(ей) просматривают Инструкции)
Участников: 0 Гостей: 2 далее... |