PHP функции

Макар че има много езици, в който всеки желан характер могат да бъдат представени едно към едно картографиране на стойност от 8 бита, има и няколко езика, които изискват повече знаци за писмена комуникация, която не може да се съдържа в един байт. Multi-байт кодиране на знаците е проектиран да работи с повече от 256 знака в правилната bytewise кодировка.

Когато можете да контролирате линии (рязане, чупене, връзка и т.н.). кодирана в многобайтов кодиране, ще трябва да използвате специални функции, тъй като две или повече последователни байта може да представлява единична (индивидуално) характер в такива кодиране схеми. В противен случай, ако използвате еднобайтовата низ функция на линиите, създадени от мулти-битови символи, функцията няма да може да се открие в началото или в края на героите на многобайтови.

mbstring предоставя тези многобайтовите специфични функции низ, които ви помагат да се справят с многобайтов кодиране в PHP, който трябва да бъде използван само с една (индивидуално) кодиране байта. В допълнение към това, mbstring дръжки характер кодиране превръщане на възможните двойки на кодиране.

mbstring също има за цел да се справят с кодирането на базата на UTF-8 и UCS-2 и други (виж по-долу), както mbstring първоначално е бил предназначен за употреба в японски уеб-страници.

Кодиране на знаците Изисквания PHP4

еднобайтови знаци са в интервала от 00ч-7fh. който е съвместим с ASCII

Multi-байт кодиране - е 00h-7fh гама

Ето примери за вътрешно кодиране на знаците, който работи и не работи с PHP.

характер, кодираща не работи с PHP, могат да се превърнат с помощта на превръщане HTTP-вход / изход mbstring модул.

Забележка: SJIS не трябва да се използва за вътрешни кодиране, освен ако читателят не е запознат с проблемите достатъчно добре работата анализатора / съставител и кодиране на знаците.

Забележка: Ако сте с помощта на база данни с PHP, се препоръчва да се използва един набор от знаци за базата данни и вътрешния кодиране / вътрешно кодиран за лекота на използване и повишаване на производителността.

Ако използвате за PostgreSQL, тя поддържа кодиране на знаци, които се различават от задния-кодиране. Вижте. PostgreSQL подробности в книгата.

mbstring е модул разширение. Вие сте длъжен да се свърже своята писменост конфигуриране. Вижте. Подробности за инсталиране в секцията.

Следните опции за конфигуриране са свързани с mbstring на модула:

--активирате-mbstring. Тя включва mbstring функции. Тази опция е необходим за използване mbstring-функции.

--активирате-mbstr-ENC-транс. Тя включва HTTP-входни машини за преобразуване на характера на кодиране с помощта mbstring реализация. Ако тази функция е активирана, кодиране на HTTP-въвеждане на символи могат да бъдат автоматично се превръща в mbstring.internal_encoding.

Кодиране преобразуване HTTP-I / O символи също могат да преобразуват двоични данни. Потребителите се насърчават да контролира конвертиране на знаци за кодиране, ако двоични данни се използва за вход / изход HTTP.

Ако enctype за HTML-форми настроен многопластови / форм-данни. mbstring не конвертирате кодиране на знаците в пост-данни. Ако е така, низа трябва да се преобразува в вътрешно кодиране на знаците.

Няма начин да се контролира HTTP-вход на героите на PHP-скрипт за реализация. Деактивирането на HTTP-конвертиращия въведете символи, за да се направи в php.ini.

Пример 1. Изключване на HTTP-конвертиращия входящите символи в php.ini

В момента mbstring модул поддържа следните кодиране на знаците. Кодиране на символи може да бъде определен параметър кодиране mbstring модул функции.

Тук кодировки поддържа от това разширение, PHP:

Влизането в php.ini. получаване на име кодиране, и приема "автомобил" и "пас".
mbstring функции като име кодиране, приемам и "автоматично".

Ако "пас" е зададена, не се извършва не се кодиране преобразуване.

Ако "автомобил" е зададена, тя се разширява, за да "ASCII, JIS, UTF-8, EUC-JP, SJIS".

Вижте. Също mb_detect_order ()

Забележка: "С подкрепата на кодирането на знаците" не означава, че тя работи като вътрешен характер код.

монтаж php.ini

Това са стойностите по подразбиране, които са инсталирани в php.ini

mbstring.internal_encoding определя кодиращи символи вътрешния подразбиране

mbstring.http_input определя по подразбиране кодиране на знаците на HTTP-вход на

mbstring.http_output определя по подразбиране кодиране HTTP-герой изход

mbstring.detect_order дефинира процедурата за определяне на подразбиращото се кодиране. Вижте. Също mb_detect_order ()

mbstring.substitute_character определя символи, за да замени на неправилните знакови кодировки

Уеб браузърите са насърчавани да използват един и същ кодиране при подаване на формуляра. Но браузъри не могат да използват една и съща кодова таблица. Вижте. Mb_http_input (), за да се определи кодирането на браузъра.

Ако enctype е настроен съставното / стойност форм-данни в HTML-форми, mbstring не конвертирате кодиране на знаците в пост-данни. Потребителят е длъжен да направи това в сценария, ако е необходимо конвертиране.

Едновременно с браузъри натрупа достатъчно, за да се определи кодова таблица в HTML. набор от знаци е по-добре да се инсталира в HTTP-хедър / заглавната си част. Default_charset променят в съответствие с кодирането характер.

Пример 4. Растения php.ini

За да съхраните символ може да се използва до 6 байта.

Multi-байт характер обикновено е два пъти по-широк, колкото еднобайтовата. По-широки символи, се наричат ​​"Дзен Каку" - което означава "пълна ширина", по-тесен, наречена "Хан-Каку" - което означава "с половин ширина". "Дзен-Каку" обикновено имат фиксирана ширина.

Някои кодировки определят изместване (бягство) последователност за вход / изход към / от мулти-байтови линии.

ISO-2022-JP е необходимо да се използва за SMTP / NNTP.

"I-режим" уеб сайт, за да бъдат използвани за SJIS.

Информация за символите японски / корейски / китайски