PHP представляет строки внутри себя как байтовые потоки и предполагает iso-8859-1 для случаев, когда кодирование имеет значение. По большей части, вы можете просто использовать UTF-8 повсюду, и все будет в порядке. Одно замечание: если ваш сайт принимает информацию от своих пользователей, вы никогда не можете быть на 100% уверены, что они представляют контент в правильной кодировке. Возможно, вы захотите использовать mb_detect_encoding
для проверки ввода или использовать скрытое поле с «экзотическими» символами для проверки.
Имейте в виду, что все связанные со строками функции в PHP, работающие на символьной основе, предполагают, что символ = байт. Это означает, что вы обычно не можете доверять строковым функциям. Посмотрите на эту страницу для более подробной информации.
Другим хорошим ресурсом для PHP является шпаргалка Ника Неттлтона .
Предметом, который очень тесно связан с кодировками / кодировками, является сопоставление . Ваши сопоставления должны соответствовать языку / культуре, с которыми вы работаете. По крайней мере, в MySql (возможно, и в других RDBMS) вы можете указать параметры сортировки на разных уровнях, например, для базы данных, таблицы, столбца и даже в самом запросе.