нетривиальное поведение iconv

den***

Новичок
нетривиальное поведение iconv

Народ, помогите советом, не могу прободать. Проблема:
при выполнении iconv, если в тексте встречаются символы типа È, функция возвращает кусок текста до первого вхождения этого символа. все остальное таинственно исчезает. Двигался в направлении

htmlentities( $text, ENT_NOQUOTES, "UTF-8" ); //текст в утф-8
iconv( $in_enc, $out_enc/*тут windows-1251*/, $text );

текст вообще убивается, возвращая пару интитисов. В чем проблема? Как победить? Есть ли вообще способы замены символов, не имеющих аналога в виндовой кодировке на что-то другое?
 

den***

Новичок
Да куда уж там дальше продвигаться. Поправка к первому посту: htmlentities помогает, но при обратной замене È меняется на chr( 200 ) - "И". засада.

-~{}~ 17.02.07 00:53:

Короче, проблема в том, что нужно оптом конвертить все некириличные символы в ближайшие кириличные аналоги. В данном случае - Е. Есть готовые таблицы замен?
 

ksnk

прохожий
den***
У функции iconv есть параметры //IGNORE и //TRANSLIT;

Массив перекодировок можно написать и самому - тебе лучше знать какие символы нужно перекодировать... Мне, к примеру, пока еще не приходило в голову использовать символ È в странице с 1251 кодировкой ;)
 

OZ

Новичок
Знаком с такой фишкой. У твоего хостера iconv неправильно установлен.
 

den***

Новичок
ksnk
Спасибо. Мой ман скромно умолчал про //TRANSLIT. Вот кстати, если использовать транслит, то символ È транслитерится в русскую Е или англицкую? Что будет например с Ü?
 

Akick

Новичок
Автор оригинала: den***
ksnk
Спасибо. Мой ман скромно умолчал про //TRANSLIT. Вот кстати, если использовать транслит, то символ È транслитерится в русскую Е или англицкую? Что будет например с Ü?
Может просто стоит самому попробовать и посмотреть что получится?
 
Сверху