Эта тема на forum.dklab.ru


Антон Макаренко: Как получить двухбайтный код символа
Добрый день.
Кто знает, подскажите плз., как средствами PHP превратить символ в "numeric character reference" типа &#n; -- например: é ‹.
Я пробовал html_entities(), но она возвращает код только тогда, когда ему не соответствует одна из htmlentities. В частности, вместо é функция возвращает é
Иными словами, нужна именно позиция символа в кодовой таблице Unicode.

Заранее спасибо!

p.s. Исходная кодировка символа в принципе известна, но лучше было бы как-нибудь определять ее автоматом.
Maus:
é
разве эта строка не содержит ту самую позициюсимвола в кодовой таблице Unicode
? Только Вам надо проверять - задано в десятичном формате или в шестнадцатеричном..
http://www.htmlhelp.com/reference/html40/entities/
Антон Макаренко:
Maus
На входе символ "é". На выходе html_entities() выдает "é". Мне же нужно получить "é" или "é".

Я вижу один способ решения проблемы: добавить всю таблицу entities (скажем, из DTD XHTML 1.1, latin1 entities, symbol entities). Но разве пригодится такой тормознутый монстр в реальном приложении? Хотя, я уверен, что в самой html_entities() делается преобразование из численного представления в entities. Бред :(
WingedFox:
Антон Макаренко
Вы попробуйте с чарсетами поиграться. Например, cp866 у меня честно выдаёт é.
Maus:
Антон Макаренко
Извиняюсь, был невнимателен.
http://ru.php.net/manual/ru/function.htmlentities.php#54927 - вот эта функция из комментария вроде годится?
Антон Макаренко:
Спасибо, эта функция -- как раз то что было нужно.

Вопрос решен, тему можно закрыть.
Maus:
Тема закрыта.

Эта тема на forum.dklab.ru