ТОП-10 популярных



Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...

НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...

БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...

Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...

ПОД ЛИТЕРОЙ «N»
Aтаку LCD-мониторов не остановить, а масштабы этого наступления даже немного пугают. Судите сами — многие пользователи только начинают приглядываться к новому для...


Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...

Размер объему не помеха.
С тех пор как компания Fujitsu отказалась от производства жестких дисков для настольных компьютеров, многие пользователи начали забывать о том,...


Какую только информацию мы не помещаем на компакт-диски: резервные копии важных данных, музыку, фильмы... Многие полагают, что главное - «купить...

PHP. Кодирование и декодирование. Часть Двадцать Третья.


29-01-2015

string mb_convert_variables(string target, array source,...)
Функция mb_convert_variables (листинг 12.88) преобразует значения переменных из одной кодировки в другую. Аргумент source может быть массивом возможных идентификаторов кодировок или списком идентификаторов, разделенных запятыми. Функция возвращает кодировку, которая будет использоваться для преобразования переменных. Начиная с третьего аргумента может задаваться одна и более переменных. Значения переменных меняются прямо на месте. 
j Листинг 12.88. Функция mb_convert_variables_

<?php
$text1 = "Every year PHP wins larger popularity!"; $text2 = "Jedes Jahr PHP gewinnt GroBere Popularitat!"; $encoding = mb_convert_variables(
mb_internal_encoding(),
"ASCII,UTF-8",
$text1, $text2); print("Text was encoded as $encoding.<br>");
?>

string mb_decode_mimeheader(string text)
Функция mb_decode_mimeheader (листинг 12.89) используется для преобразования данных, переданных аргументом text заголовка MIME, в стандартную кодировку.

j Листинг 12.89. Функция mb_decode_mimeheader
<?php
print(mb_decode_mimeheader(
'=?UTF-7?Q?Gro+AN=38-er=20Affe?='));
?>

string mb_decode_numericentity(string text, array conversion, array encoding)
Функция mb_decode_numericentity (листинг 12.90) декодирует коды цифровых объектов HTML. Аргументом conversion задается карта преобразования. Функция осуществляет поиск блоков из четырех элементов этого массива, которые могут иметь следующие значения: начальный и завершающий коды, смещение и маска. Начальный и завершающий коды должны совпадать с началом и концом диапазона символов. Если объект попадает в заданный диапазон, функция перед его декодированием использует смещение. Например, смещение 1 меняет код 65 на 66 или "A" на "B". Функция преобразовывает объекты на основании операции "побитового И" кода объекта и маски. Например, маска "0xFF" в применении к объекту 321 в результате дает A, так как 321 & 0xFF равно 65.

| Листинг 12.90. Функция mb_decode_numericentity
<?php
print(mb_decode_numericentity(
'&#6 5;&#66;&#6 7;&#32;&#4 9;&#50;&#51;', array(0x00, 0xFF, 0x00, 0xFF)));
?> 
string mb_detect_encoding(string text, array encoding)
Функция mb_detect_encoding (листинг 12.91) возвращает определенную кодировку, применяемую в отношении данных, заданных аргументом text. Необязательный аргумент encoding может задавать набор методов кодировки, которые будут опробованы по очереди. Этот аргумент может быть как строкой с идентификаторами кодировок, разделенными запятыми, так и массивом.

j Листинг 12.91. Функция mb_detect_encoding
<?php
print(mb_detect_encoding('GroB',
array('ASCII,,,UTF-8,,,EUC-JP')));
?>

array mb_detect_order(array encoding)
Функция mb_detect_order возвращает массив с описанием методов кодировки, которые PHP использует при определении кодировки строки, например с помощью функции mb_detect_encoding. Это значение можно изменить, задав в аргументе encoding массив или список значений, разделенных запятыми.
string mb_encode_mimeheader(string text, string encoding, string method, string linefeed)
Функция mb_encode_mimeheader (листинг 12.92) предназначена для кодировки строки для использования ее в заголовке MIME. Необязательный аргумент encoding задает кодировку, использованную для данных, заданных аргументом text. По умолчанию он имеет значение ISO-2022-JP. Необязательный аргумент method должен иметь значение B для кодировки base64 или Q для кодировки quoted-printable. Необязательный аргумент linefeed по умолчанию имеет значение "возврат каретки" с последующим символом "перевода строки".

| Листинг 12.92. Функция mb_encode_mimeheader_
<?php
print(mb_encode_mimeheader('GroBer Affe', 'UTF-7', 'Q') . " <corephp@leonatkinson.com>");
?>

string mb_encode_numericentity(string text, array conversion, string encoding)
Функция mb_encode_numericentity (листинг 12.93) предназначена для преобразования набора символов в цифровые объекты HTML и противоположна функции mb_decode_numericentity. Описание назначения массива conversion можно найти в описании функции mb_decode_numericentity. 
j Листинг 12.93. Функция mb_encode_numericentity_

<?php
print(mb_encode_numericentity("ABC 123", array(0x00, 0xFF, 0x00, 0xFF)));
?>

Понравился материал? Поделитесь с друзьями!



<< Предыдущая статьяСледующая статья >>
PHP. Кодирование и декодирование. Часть Двадцать Вторая. PHP. Кодирование и декодирование. Часть Двадцать Четвёртая.