Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Перекодировка из Windows-1251 в Unicode (Utf-8)

22.09.2006, 19:11
Гость
Гость

Здравствуйте!

Сделали сайт на флеше, который подргружается с xml'ов с Нетката. Чтобы флеш читал русский язык нормально, нужно, чтобы из кодировки Windows 1251 неткат перекодировал в Unicode. Нашли способ осуществить это следующим образом:

Окружая каждый тег и переменную таким образом:

Код:

";
echo iconv("Windows-1251","UTF-8","

<?xml version="1.0" encoding="utf-8"?>
<text>

");
echo "

(это префикс списка объектов - в остальных полях идЈт так же, то есть окружаем iconv теги и переменные)

Вроде бы работало, но недавно стало выдавать ошибки - кодировка страницы определяется как win1251.

Вопрос к Вам:
Как из windows-1251 получить unicode (UTF-8), причем так, что и хедер страницы тоже был в UTF-8? Нужен более действенный способ.
Спасибо заранее.
22.09.2006, 20:50
Кирилл Хряпин
NetCat

Зарегистрирован:
2006-06-15
Сообщений: 207

Предлагаю такой способ:

Создаете макет дизайна.
В хедере пишете:
Код:
";
ob_start();
echo "<?xml version='1.0' encoding='utf-8'?>


В футере:
Код:
";

$page = ob_get_clean();
echo iconv("Windows-1251","UTF-8", $page);
echo "


Вызываете из Flash нужную Вам страницу с параметром ?template=XXXX, где XXXX - ID данного макета дизайна.

Разумеется, шаблон данных должен создавать валидный XML-код.
27.09.2006, 17:11
Гость
Гость

Попытался сделать так, как вы сказали. Не получилось.
Если, правда, я всЈ правильно делал. Все iconv я из шаблонов, следовательно, убрал.
проверял, не вызывая из флеша, просто по отображению страницы из нетката. Она ни в UTF-8 ни в windows-1251 не читалась нормально. он сделал какую-то левую кодировку.

Можете объяснить, что я сделал не так?
Проблема ещЈ вот в чем: эксплорер ТРЕБУЕТ, чтобы кодировка была указана ТОЛЬКО в хедере, а в самих шаблонах iconv следует убрать. А мазилла хочет все наоборот, то есть хедер и контент ИЛИ только КОНТЕНТ должны перекодироваться. То есть, если всЈ подогнать под эксплорер, в других браузерах ничего не работает.

Как решить эту проблему? может, существует другой способ перекодировки?

198 196 2006-09-27 17:11:09 6920
Описание проекта