Соображения по программированию
Как уже упоминалось, PHP-работу с Unicode можно выполнить несколькими способами, включая расширения PHP, различные кодировки, и т.д. Но пока вы не стали экспертом в данной области, я не рекомендую пробовать принимать решение выбирать из этих многочисленных возможностей. Вы почти определенно достигнете наилучших результатов, если сконцентрируетесь на следующем:
Как уже упоминалось, PHP-работу с Unicode можно выполнить несколькими способами, включая расширения PHP, различные кодировки, и т.д. Но пока вы не стали экспертом в данной области, я не рекомендую пробовать принимать решение выбирать из этих многочисленных возможностей. Вы почти определенно достигнете наилучших результатов, если сконцентрируетесь на следующем:
- Явно используйте кодировку UTF-8, маркированную:
- "
mb_language('uni'); mb_internal_encoding('UTF-8');
" в верхней части ваших сценариев. -
Content-type: text/html; charset=utf-8
в HTTP-заголовке для.htaccess
,header()
или конфигурации Web-сервера. -
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
и<orm accept-charset = "utf-8">
в HTML-коде. -
CREATE DATABASE ... DEFAULT CHARACTER SET utf8 COLLATE utf8 ... ENGINE ... CHARSET=utf8 COLLATE=utf8_unicode_ci
- обычная последовательность для экземпляра MySQL, а для других баз данных имеются похожие выражения. -
SET NAMES 'utf8' COLLATE 'utf8_unicode_ci'
- это полезная директива для PHP, которая передается в MySQL сразу после подключения. - В
php.ini
назначьтеdefault_charset = UTF-8
.
- "
- Заменяйте строковые функции, такие как
strlen
иstrtlower
, наmb_strlen
иmb_convert_case
. - Заменяйте
mail
иcolleagues
наmb_send_mail
и др.; хотя понимающие Unicode сообщения электронной почты являются продвинутой темой, выходящей за рамки данной статьи, использованиеmb_send_mail
является хорошей отправной точкой. - Используйте функции многобайтных регулярных выражений (multibyte regular expressions) (см. раздел "Ресурсы").
Комментариев нет:
Отправить комментарий