Проблемка с htmlentities

Гравицапа

elbirret elcno
Проблемка с htmlentities

Собственно есть страница с формой.
Кодировка страницы допустим ISO-8859-1.
Кодировка, в которой вводяться данные в форму может меняться.
При вводе в форму текста в кодировке, отличной от кодировки отсновной страницы, и отправки на обработку, данные преобразуетются браузером в HTML сущности.
например 'проверка' ->
Код:
&# 1087;&# 1088;&# 1086;&# 1074;&# 1077;&# 1088;&# 1082;&# 1072;
Как их преобразовать обратно в нормальные симовлы? По какому алгоритму? Как это делает браузер при выводе?
Поиск по форуму особо не помог.
 

Гравицапа

elbirret elcno
Yaguan
да пробывал я её, но она преобразует текст в "каракули" и при том требуется указать кодировку, которая не известна (многоязычное приложение...например я могу писать в англ. интрерфейсе на русском языке)

$str = html_entity_decode($_POST['test']);
echo $str;
 

SiMM

Новичок
Многоязычные приложения пользуются UTF-8. При чём, как в выдаваемом ими контенте, так и в используемых ими хранилищах данных.

> например я могу писать в англ. интрерфейсе на русском языке
Приводить в качестве примера английский язык вообще бессмысленно. Ибо символы латиницы есть во всех кодировках.
 

ksnk

прохожий
Чем тогда не устраивает
PHP:
html_entity_decode($ss,ENT_NOQUOTES,"cp1252");
 

Demiurg

Guest
Гравицапа
а в какой кодироке у тебя хранятся данные ?
 

Demiurg

Guest
Гравицапа
я немного не поял ответа, так что за кодировка ?
 

Гравицапа

elbirret elcno
Demiurg
всё очень просто...есть скрипты + языковые файлы (в разных кодировках) и всё было бы ничего...если бы пользователь вводил данные в той кодировке в которой и инетрфейс...но возможны и другие варианты..согласен.пример с анл не совсем праивльный но тем не менее ...возникла проблема с ISO-8859-1.
Или ты не это имел в виду? Поясни тогда.
ksnk
cp1252 - вместо ней может быть например KOI8-R ...
 

Demiurg

Guest
Гравицапа
переформулирую вопрос:
Какую кодировку ты используешь при хранении данных ?
или данные не храняьться вобще ?
 

ksnk

прохожий
Гравицапа
&# 1087;&# 1088;&# 1086;&# 1074;&# 1077;&# 1088;&# 1082;&# 1072; - это юникод. Он УЖЕ не имеет отношения к кодировке, в которой пользователь реально вводит что-то. Первично тут - "в какой кодировке ты собираешься в дальнейшем работать/хранить данные"
 

kvf77

Red Devil
Все ответы на ваши вопросы собраны здесь - учитесь пользоваться FAQ! Здесь есть конкретные примеры.

FAQ по кодировкам:
http://phpclub.ru/faq/wakka.php?wakka=encodings&v=x3z
 

Гравицапа

elbirret elcno
всем спасибо...хотел сначала сам функу для переколировки html entities в utf-8 написать, но нашлась готовая и проблема решена)
насчёт хранения..всё хранится в БД ..собственно без кодировки (за искючением отдельных полей в юникоде)
перекодировка нужна была для трасляции в IDN ...то есть например сайт.ру -> xn--....
прошу извинить за некоторую кривость изложения проблемы
 
Сверху