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
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Как получить код первого символа (ord) из строки в UTF-8 ?
Покинул форум
Сообщений всего: 240
Дата рег-ции: Нояб. 2012
Помог: 1 раз(а)
В целом, в теме весь вопрос.
Надо получить код первого символа строки (он может быть и русскими буквами) - в пхп есть ORD(), но мультибайтовой поддержки у него, естественно, нет, и он возвращает не код русской буквы, а код первого бита (208, 209 и т.д.).
Как получить этот код именно ПЕРВОЙ буквы?
Пытался utf8_decode() - но получаю стандартное ????????? вместо строки.
Строку сначала преобразую в строчные:
mb_strtolower($log,"UTF-8");
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
В странных ситуациях очень неплохо пошерстить комменты к оригинальному ману: http://php.net/manual/ru/function.ord.php
Как минимум несколько реализаций для мультибайтовых кодировок вижу
----- PostgreSQL DBA
LShark
Отправлено: 31 Декабря, 2012 - 11:41:59
Частый гость
Покинул форум
Сообщений всего: 240
Дата рег-ции: Нояб. 2012
Помог: 1 раз(а)
Все они тяжеловесны. Я надеялся на более простой вариант, так как таким образом хотел по первому символу (например, ника) раскладывать по файлам.
Но придется вернуться к упрощенному варианту, сменив на латиницу, хотя тоже не лучший вариант...
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.