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.
Информация за символите японски / корейски / китайски