проблемы с iconv - возвращает false

23i

Guest
проблемы с iconv - возвращает false

СОздается некий DOM объект (естественно весь текст в ней в в юникоде), далее используя saveXML(), преобразуем объект в строку. Далее происходит попытка конвертировать эту строку в windows-1251 кодировку -
PHP:
iconv('UTF-8','CP1251',$xml_str);
где $xml_str - результат работы saveXML(), при этом он содержит все что должен содержать.
работа же iconv возвращает false.
С чем это может быть связано и как с этим боротся?

P.S. до этого используя эту библиотечку для обратной конвертации проблем не наблюдается. ПРобовал под Win && FreeBSD. ПХП везде 5.0.4
 

SiMM

Новичок
> естественно весь текст в ней в юникоде
Unicode - это не обязательно UTF-8
 

23i

Guest
> естественно весь текст в ней в юникоде
Unicode - это не обязательно UTF-8
прошу прошения не уточнил, до этого окнвертирую из iconv('CP1251','UTF-8',$str);
появилась мысль, что после saveXML(), текст сохраняется в mysql в сериализованном виде. дальше вытаскивается и рассериализовывается. но я не думаю что в этот момент возможна ошибка.
 

SiMM

Новичок
Не воспроизводится.
Правила форума обязывают тебя приводить минимальный проблемный код (10-15 строк, больше - в http://phpclub.ru/paste ) и минимальный набор необходимых для воспроизведения эффекта данных.
Правда в твоём случае проблема всё же скорее всего в невалидном UTF-8 (или в том, что это не UTF-8) - т.е. данных достаточно.
Эксперимента для можешь попробовать
PHP:
iconv('UTF-8','CP1251//TRANSLIT',$xml_str);
или
PHP:
iconv('UTF-8','CP1251//IGNORE',$xml_str);
PS: кстати, FALSE мне получить от iconv не удалось. Максимум - пустая строка при непустом входном аргументе.
 

23i

Guest
Версия Mysql 4.0
И проблемы с русским нет. проблема с переконвертированием.
 
Сверху