Атлант - как перевести на русский?

sage

Новичок
Атлант - как перевести на русский?

Есть некоторый xml:
...
<vendor>&#1040;&#1090;&#1083;&#1072;&#1085;&#1090;</vendor>
...

Прим.: Вместо Атлант в файле - строка в UTF-8 из темы толика

Есть некоторая ф-ия-обработчик символьных данных. В ней -
PHP:
echo utf8_decode($data)
. Выводим то, что между <vendor> и </vendor>: на выходе получаем ? (знак вопроса). Если же просто в другом скрипте написать
PHP:
echo utf8_decode('&#1040;&#1090;&#1083;&#1072;&#1085;&#1090;')
- пишет "Атлант". Тогда почему при парсинге эта же конструкция даёт ? (знак вопроса)?
 

slach

Новичок
utf8_decode раскодирует из utf8 в latin1 (ISO-8859-1 если быть точным) - в этом наборе нет кирилицы

&#1040 - это Entity кирилических символов
попробуйте для php5

PHP:
iconv('utf-8','windows-1251',
html_entity_decode( '&#1040;&#1090;&#1083;&#1072;&#1085;&#1090;', ENT_NOQUOTES, 'utf-8'));
для php4 есть свой workaround

http://bugs.php.net/bug.php?id=25670&edit=3
 
Сверху