Pull to refresh

Comments 8

странный вопрос) у пхп 5 (как и у 4) все ок с утф8
Подводные камни ожидают как раз в том случае, если вы НЕ будете его использовать, юникод — это же сегодняшний день :)
Вообще уже давно много чего делается на PHP5 в юникоде. Это довольно стандартно.
Главное не забывать особенности работы стандартных строковых функций с байтами ;-)
Вас могут поджидать проблемы, если вы будете использовать стандартные функции определения длины строки и позиции символа. Кроме того есть проблемы в функциях посимвольной замены. Однако все эти проблемы решаются путем использования аналогичных функций библиотек iconv и mbstring.

А что касается, например, работы с базами данных, то, например, у mysql все ядро работает на utf-8, поэтому она более предпочтительна.
Сейчас практически все новые проекты пишутся на юникоде.
Кстати, в php6 на стандартные функции будут влиять настройки локали (как и на iconv), поэтому никаких проблем не будет вообще.
С помощью mbstring
Нормальную поддержку юникода обещают в php6
просто нужно использовать функции mb_mail, mb_strtolower, mb_substr (может и напутал чего ..) ну факт в том что функции для работы со строками (не все скорее всего) дополняются "mb_", а формат вызова тот же. также в Php.ini есть параметр который можно прописать в yes и функции будут автоматом использовать аналоги с "mb_" даже если вызываются обычные (mail).
второй момент - если юзаются регулярные выражения, делать конструкцию вида /^...$/u где "u" означает то что строка - utf8.
Sign up to leave a comment.

Articles