Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как получить код первого символа (ord) из строки в UTF-8 ?
Форумы портала PHP.SU » » Кодировки и все смежное » Как получить код первого символа (ord) из строки в UTF-8 ?

Страниц (1): [1]
 

1. LShark - 31 Декабря, 2012 - 09:07:15 - перейти к сообщению
В целом, в теме весь вопрос.

Надо получить код первого символа строки (он может быть и русскими буквами) - в пхп есть ORD(), но мультибайтовой поддержки у него, естественно, нет, и он возвращает не код русской буквы, а код первого бита (208, 209 и т.д.).

Как получить этот код именно ПЕРВОЙ буквы?
Пытался utf8_decode() - но получаю стандартное ????????? вместо строки.

Строку сначала преобразую в строчные:
mb_strtolower($log,"UTF-8");

А затем зависаю...

Подскажите, как?
2. Master_pascal - 31 Декабря, 2012 - 09:17:25 - перейти к сообщению
3. LShark - 31 Декабря, 2012 - 11:31:34 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. -Штурман, приборы!!!
  2. -ДВЕСТИ!!!
  3. -Что "двести"?!!
  4. -А что "приборы"?!!!
4. Мелкий - 31 Декабря, 2012 - 11:34:32 - перейти к сообщению
В странных ситуациях очень неплохо пошерстить комменты к оригинальному ману: http://php.net/manual/ru/function.ord.php
Как минимум несколько реализаций для мультибайтовых кодировок вижу
5. LShark - 31 Декабря, 2012 - 11:41:59 - перейти к сообщению
Все они тяжеловесны. Я надеялся на более простой вариант, так как таким образом хотел по первому символу (например, ника) раскладывать по файлам.
Но придется вернуться к упрощенному варианту, сменив на латиницу, хотя тоже не лучший вариант...

 

Powered by ExBB FM 1.0 RC1