Требования, предъявляемые к кодировкам символов в PHP Типы кодировок, использование которых в PHP безопасно. Однобайтовые кодировки, имеющие ASCII-совместимую (совместимую с ISO646) разметку в диапазоне с 00h по 7fh. Многобайтовые кодировки, имеющие ASCII-совместимую разметку в диапазоне с 00h по 7fh. не использующие escape-последовательности ISO2022. не использующие значения в байтах с 00h по 7fh по отдельности, когда эти байты представляют один символ. Далее приведены примеры кодировок, использование которых в PHP нежелательно. Даже если PHP-скрипт написан в рекомендуемой кодировке, он может оказаться неработоспособным. Зачастую так происходит, когда кодированные строки появляются в скрипте в качестве идентификаторов или литералов. Можно исключить большую часть таких ситуаций путём использования функции фильтрации кодировок во входящих HTTP-запросах (функция есть в модуле mbstring). Крайне не рекомендуется использовать SJIS, BIG5, CP936, CP949 и GB18030 в качестве внутренних кодировок, если вы недостаточно разбираетесь в устройстве парсера, сканера и кодировки. Если вы подключаетесь к базе данных средствами PHP, рекомендуется использовать одинаковые кодировки для базы данных и в качестве внутренней кодировки. Это облегчит разработку и повысит быстродействие. Если вы используете PostgreSQL, совпадение кодировок в базе данных и используемой в PHP необязательно, так как PostgreSQL поддерживает автоматическое преобразование кодировок между СУБД и клиентом.