![]() |
|
||||||||||
|
|||||
|
Регистрация: Feb 2004
Сообщений: 40
|
Проблема вот в чем (может, уже спрашивали, не бейте ногами
):При чтении данных из xml-файла бьется кодировка. В самой флешке пробовал указывать System.useCodepage = true; Во вложении файлы: menu.xml - файл, из которого берутся данные menu_local (with useCodepage).swf - флешка с useCodepage = true; menu_local (wo useCodepage).swf - флешка без useCodepage В чем может быть проблема? Сам xml пишется с помощью PHP 4.6 (DOM XML). Все русские символы перекодируются с помощью iconv(). Для iconv пробовал указывать разные кодировки (windows-1251, ISO-8859-1, koi8-r). Нормально xml генерится только с кодировкой win1251. Где косяк? ![]() |
|
|||||
|
Banned
[+1 16.05.2006]
[++1 16.05.2006] [+ 1 21.05.06] [++ за хамство] [+1 21.05.2006] Регистрация: Dec 2003
Сообщений: 3,925
|
Встречался с таким, победил, руками указав System.useCodepage = false;
|
|
|||||
|
Banned
[+1 16.05.2006]
[++1 16.05.2006] [+ 1 21.05.06] [++ за хамство] [+1 21.05.2006] Регистрация: Dec 2003
Сообщений: 3,925
|
Хотя стоп. iconv у тебя из какой в какую перекодирует?
|
|
|||||
|
Регистрация: Feb 2004
Сообщений: 40
|
Цитата:
Перевод делал в utf-8 из win1251, ISO-8859-1, koi8-r (в порядке бреда указывал и win1252 )Сами данные читаются из базы. База в utf-8. Просто на страницу данные выводятся нормально (у меня предпросмотр перед выгрузкой в xml) У iconv() input, output и internal кодировки - ISO-8859-1. Пробовал принудительно указывать input win1251, output - utf-8. Тоже не помогло. У меня уже была похожая проблема. Там все решилось iconv("ISO-8859-1", "utf-8", $str); Здесь такой вариант не проходит. Возможно, потому что хостинг в данном случае другой. До некоторого времени там вообще не было поддержки iconv (включили по моему запросу). Последний раз редактировалось Serzhik; 25.12.2005 в 23:23. |
|
|||||
|
Banned
[+1 16.05.2006]
[++1 16.05.2006] [+ 1 21.05.06] [++ за хамство] [+1 21.05.2006] Регистрация: Dec 2003
Сообщений: 3,925
|
У меня соответственно один вопрос. Если в БД у нас utf-8, то укажи на всякий при выводе хедером, что ты используешь uft-8, соответственно, про кодировки во Flash можно будет забыть, равно как и про iconv.
Потому что я хоть убей не понимаю, чего ты хочешь добиться, конвертируя строку в utf-8 (что априори, т.к. ты упомянул, как настроена БД) iconv-ом как $str = iconv("ISO-8859-1", "utf-8", $str); Это примерно то же самое, что на встречу с японцем пригласить переводчика с итальянского ![]() |
|
|||||
|
Регистрация: Feb 2004
Сообщений: 40
|
Цитата:
Просто от безнадеги я уже не знаю, что делать... Кодировка в базе верная, выдача на экран происходит норм! В xml тоже выгружается все нормально (по крайней мере, IE и Visual Studio .NET ошиюки синтаксиса не находят). Так почему тогда флеш не может корректно прочитать этот файл? А по поводу хедера не понял: я ж не на экран выдаю информацию, а в файл. Причем используя DOM XML, который по умолчанию генерит файл именно в utf8. На всякий случай попробовал результат iconv вывести на экран (установил в браузере кодировку UTF8): все корректно вывелось в этой кодировке. А в флеше опять кракозябры! По поводу useCodepage: включение/отключение (true/false) этой опции на хостинге не имеет никакого значения, файл одинаково читается кракозябрами. Хостинг под *nix'ом ---------------------------------------------- Теперь по поводу самой флешки: попробовал trace'ом вывести данные, которые читаются из файла. Так вот при UseCodepage = false все читается отлично, но при этом не выводится (в выпадающем списке пустые строчки). Хотя значения, которые присваиваются этим мувикам, правильные Последний раз редактировалось Serzhik; 26.12.2005 в 09:24. |
|
|||||
|
я когда мучался с тож е проблемой то после кодировки при открытии редактором файл представлял из себя какую то белеберду... но работал...
__________________
Best regards, Boris Petrov |
|
|||||
|
Регистрация: Feb 2004
Сообщений: 40
|
Немного разобрался: проблема была в том, что для поля, в которое происходит вывод строк меню (мувик с текстовым полем), стояли настройки Character->Specify Range только для латиницы. Добавил кирилицу, убрал useCodepage (если оставить useCodepage=true, то выводится будут кракозябры) - на локальной машине все заработало. А вот на хостинге все равно кракозябры!!! Фонт в этом текстовом поле Arial (пробовал Arial Cyr - тоже самое)
=================================================== Это полный пердимонокль!!!!!! Все получилось, но почему заработало, я, хоть убейся об стену, не понимаю!!!! 1. Сделал выгрузку с преобразованием iconv("ISO-8859-1", "utf8", $str) 2. useCodepage = true; 3. Паблиш для FlashPlayer 7.0, AS 2.0 И теперь все ок!!! Но почему??? Откуда там ISO-8859-1??? Сами страницы у меня в win1251, база в utf8. Правда, внутрення кодировка iconv ISO-8859-1. Неужели из-за этого? Причем самое интересное: теперь IE выводит саму xml с кракозябрами (правда, теперь мне на это наплевать, главное, чтобы флеш нормально читал). Но вопрос-то остается: получается, что флешка читает xml в какой-то кривой кодировке? Или как? Гуру! Объясните, а то чокнусь ![]() Последний раз редактировалось Serzhik; 26.12.2005 в 11:16. |
|
|||||
|
Banned
Регистрация: Dec 2005
Сообщений: 67
|
сам фаил xml сохранить Save as ->(unicode)
|
|
|||||
|
Регистрация: Nov 2003
Адрес: Север
Сообщений: 244
|
Попробовал. Не понравилось =/
В самом деле, как только эмбедишь шрифт -- то, что приходит с сервака становиться нечитабельным. Хотя, если сохранить текстовый файл в Юникоде, то его читает и отображает нормально. Что за!? Я в шоке.
__________________
Scio me, nihil scire. |
![]() |
![]() |
Часовой пояс GMT +4, время: 13:06. |
|
|
« Предыдущая тема | Следующая тема » |
|
|