Кодування символів

Модуль XML у PHP підтримує набір символів » Unicode через різні кодування символів. Є два типи кодувань символів у цьому модулі, вихідне кодування та цільове кодування. Внутрішнє подання документа в PHP завжди кодоване в UTF-8

Исходное кодирование происходит, когда XML документрозбираєтьсяПристворення аналізатора XML може бути визначено вихідне кодування (це кодування не може бути змінено пізніше, під час роботи аналізатора XML). Підтримуються вихідні кодування ISO-8859-1 US-ASCIIиUTF-8. Перші два є однобайтними кодуваннями, що означає, що кожен символ представлений одним байтом. . UTF-8 може кодувати символи, представлені змінним числом біт (аж до 21) байти (від одного до чотирьох). За замовчуванням у PHP вихідним кодуванням є ISO-8859-1

Цільове кодування відбувається, коли PHP передає дані функціям, що обробляють XML. Коли створюється аналізатор XML, цільове кодування встановлюється таким же, як вихідне кодування, потім воно може бути змінене в будь-який момент. Цільове кодування вплине на символьні дані, а також імена тегів та цілі команд.

Якщо XML аналізатор зустрічає символи за межами діапазону, які їх вихідна кодування може надати, він повертає помилку.

Якщо PHP зустрічає символи в документі, що розбирається XML, які не можуть бути представлені в обраному цільовому кодуванні, проблемні символи будуть "знижені". У цьому випадку це означає, що такі символи будуть заміщені знаком питання.