Типы кодировок, использование которых в PHP безопасно.
Однобайтные кодировки,
Многобайтные кодировки,
Далее приведены примеры кодировок, использование которых в PHP нежелательно.
JIS, SJIS, ISO-2022-JP, BIG-5
Даже если PHP скрипт написан в рекомендуемой кодировке, он может оказаться неработоспособным. Зачастую так происходит, когда кодированные строки появляются в скрипте в качестве идентификаторов или литералов. Можно исключить большую часть таких ситуаций путем использования функции фильтрации кодировок во входящих HTTP запросах (функция есть в расширении mbstring).
Замечание:
Крайне не рекомендуется использовать SJIS, BIG5, CP936, CP949 и GB18030 в качестве внутренних кодировок, если вы недостаточно разбираетесть в устройстве парсера, сканера и кодировки.
Замечание:
Если вы подключаетесь к базе данных средствами PHP, рекомендуется использовать одинаковые кодировки для базы данных и в качестве внутренней кодировки. Это облегчит разработку и повысит быстродействие.
Если вы используете PostgreSQL, совпадение кодировок в базе данных и используемой в PHP необязательно, так как PostgreSQL поддерживает автоматическое преобразование кодировок между СУБД и клиентом.