deeplay
08.04.2009, 02:58
ситуация: Для теста передаю (post) через форму ОДИН кириллический символ (ну или другой юникод, типа ə ü и т.д.), вычисляю длину строки при помощи strlen() мне выводится 2! как я понял на самом деле "я" далеко не просто "я", а какой-нить двузначный код (да-да, тупое словосочетание).
вопрос: Есть ли функция, которая "заставит" принимать "я", как один символ? Если нет таковой в ядре php, подскажите пути обхода.
вопрос 2 (дополнительный): Как увидеть что из себя на самом деле представляют эти символы? Типа D0 D1 и т.д.? Возможно я ошибаюсь, что они так выглядят, мне просто интересно увидеть, желательно, таблицу соответствия и т.д.
p.s.: везде (на всех страницах, базе и т.д.) юзается utf-8.
Добавлено через 26 минут
нашел решение в сети. хотел удалить тему, подумал может кому пригодиться
решение:
function utf8_strlen($str)
{
if (function_exists('mb_strlen')) return mb_strlen($str, 'utf-8');
return strlen(utf8_decode($str));
}
вопрос: Есть ли функция, которая "заставит" принимать "я", как один символ? Если нет таковой в ядре php, подскажите пути обхода.
вопрос 2 (дополнительный): Как увидеть что из себя на самом деле представляют эти символы? Типа D0 D1 и т.д.? Возможно я ошибаюсь, что они так выглядят, мне просто интересно увидеть, желательно, таблицу соответствия и т.д.
p.s.: везде (на всех страницах, базе и т.д.) юзается utf-8.
Добавлено через 26 минут
нашел решение в сети. хотел удалить тему, подумал может кому пригодиться
решение:
function utf8_strlen($str)
{
if (function_exists('mb_strlen')) return mb_strlen($str, 'utf-8');
return strlen(utf8_decode($str));
}