Кодування символів
Модуль 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, які не можуть бути представлені в обраному цільовому кодуванні, проблемні символи будуть "знижені". У цьому випадку це означає, що такі символи будуть заміщені знаком питання.