PHP postrádá datové typy znak a řetězec Unicode
řetězce v PHP jsou binární, nejsou abstrakcí Unicode
skript musí interně používat jedno kódování a starat se o převod všech vstupů a výstupů do a z tohoto kódování
nejpraktičtější je dnes používat jako kódování skriptu UTF-8
všechny funkce pro práci s XML předávají data v UTF-8 (bez ohledu na kódování vstupů)
generování výstupu v UTF-8 je dnes samozřejmost
je potřeba zajistit správné chování řetězcových funkcí nad řetězci UTF-8 a konverzi dalších dat (např. z databáze) do UTF-8