Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   domXML и кирилица (http://www.flasher.ru/forum/showthread.php?t=90079)

Mnilionic 31.12.2006 06:22

domXML и кирилица
 
из флеша постом отправляю php скрипту строку :
Код:

<?xml version='1.0' encoding='WINDOWS-1251'?>
<i am="Вася" goto="школа"/>

domxml_open_mem проходит без ошибок, но русские буквы каверкаются.

при чтении русскоязычных записей из базы и создании из них xml документа тоже проблемы с кирилицей.

помогите пожалуйста настроить.

etc 31.12.2006 09:45

Потому что Flash работает только с utf-8.

Mnilionic 31.12.2006 16:22

C флешем проблем нет.
Он прекрасно читает и отпровляет WINDOWS-1251.

Проблема с domXML, которая не парсит кирилицу

etc 31.12.2006 17:27

Цитата:

Сообщение от Mnilionic
Он прекрасно читает и отпровляет WINDOWS-1251.

Это не врите. Как раз флеш работает только с utf-8. Никаких useCodepage ни в коем разе использовать нельзя. Ещё раз говорю: только utf-8. А не парсит потому что не windows-1251.

Mnilionic 31.12.2006 17:55

Как мне тогда поступить?
Мне нужно из базы собрать данные в xml,
отправить флешу, обработать и вернуть в базу.

а почему useCodepage нельзя?

Mnilionic 31.12.2006 18:01

Цитата:

Сообщение от __etc
А не парсит потому что не windows-1251.

если парсить
<node x="Россия"/> - ошибка при парсинге,
а если
<?xml version='1.0' encoding='WINDOWS-1251'?><node x="Россия"/> - ошибки не происходит, но кирилица лагает

Даже если строку парсить неприсланную флешем, а просто из переменной такой же баг.

etc 31.12.2006 18:43

Из флеша будет приходить исключительно utf-8.
Нельзя использовать useCodepage, потому как кодировка win1251 установлена только на Windows с кириллицей. Проще говоря, все остальные в пролете.

Mnilionic 31.12.2006 20:32

тоесть мне нужно сделать следующее?

получить из базы данные (win1251)
преобразовать в utf8
отпарсить в xml
отправить флешу без useCodepage
...
отправить из флеша без useCodepage
отпарсить в xml
преобразовать необходимые значения в win1251
положить в базу

конвертировать надо utf8_encode/utf8_decode ?

etc 31.12.2006 21:14

Что-то мне подсказывает (не смотрел), что преобразовать в utf-8 надо сразу в базе. Это раз. А второе, что подсказывает — domXML работает с utf-8 нативно.
На php.net во всяком случае так и написано (libxml uses "UTF-8" internal encoding). Т.е. конвертировать надо данные в самой базе и обойтись без доп. преобразований.

Mnilionic 31.12.2006 21:50

приведёный мной выше алгоритм не работает:
то что вытаскивается из базы и кодированный в utf флеш не понимает.
и при записи в базу, декодированный utf ,записывается как набор вопросительных знаков.

База уже существует и используется.

Как мне наладить связь данных в базе в win1251 и парсиера который работает только с UTF ?


Часовой пояс GMT +4, время: 19:38.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.