Показать сообщение отдельно
Старый 08.07.2012, 04:33
Вася Булочкин вне форума Посмотреть профиль Отправить личное сообщение для Вася Булочкин Найти все сообщения от Вася Булочкин
  № 4  
Ответить с цитированием
Вася Булочкин

Регистрация: Mar 2009
Сообщений: 4
Цитата:
во-вторых, все, что вы пишите в xml файл, должно быть пропущено через специальные функции, который кодируют спец-символы. Как вы создаете ваш xml документ?
в-третьих, как вы верно заметили, по умолчанию от xml-я ждут UTF-8, и, между прочим, по стандарту кодировку обязаны указывать. То, что у вас при utf8_encode все работает, но бьется, намекает на то, что у вас не uft-8 формируется, а исходная строка вообще черт-е в чем.
формируется во Flash, таким способом:
Код AS1/AS2:
n=_root.xml_b.createElement("A");
n.attributes.name="Название 1"
_root.xml_b.appendChild(n);
дочерние элементы образуются так же.
Если скажете, как во Flash указывать кодировку отправляемогого POST запроса, буду очень благодарен.
с удовольствием бы указал. пробывал таким же образом, как и создавал xml, но там тупо тэг. пробовал прилеплять уже в php: $input='"<?xml version="1.0" encoding="utf-8"?>'.$input, бесполезно. Перерыл гугл, но так и не узнал, как во Flash указывать кодировку. Узнал только то, что она по умолчанию UTF-8.

Цитата:
И флеш-то с UTF-8 работает, но если вы начнете работать и вставите где-то кириллицу в win-1251, то она так и останется кириллицей в win-1251
POST чистый, нигде не правился. Пробовал узнать, если не UTF-8, то что:
функцией, по моему, mb_detect_encoding...говорит толи UTF-8, толи Unicode. точно не помню. Пытался перевести, методом проб и ошибок, функциями iconv и mb_convert_encoding в UTF-8 с windows-1251, UTF-16, и с UTF-8 в UTF-8... Эффекта 0.
Исходники чистые, т.е. сокращены до минимума,эффект тот же:
Код AS1/AS2:
System.useCodepage = true;
var xml_b:XML = new XML();
n=_root.xml_b.createElement("A");
n.attributes.name="Название 1"
_root.xml_b.appendChild(n);
 
n=_root.xml_b.firstChild.createElement("B");
n.attributes.name="Название 1.1"
_root.xml_b.appendChild(n);
 
var my_xml = new XML();
 
my_xml.onLoad = function(data){
    if(data==null){
        trace("Data was not send! Try again.");
    }else{
        trace(my_xml);
    }
}
xml_b.contentType = "text/xml";
xml_b.sendAndLoad("http://mysite/1.php", my_xml);
System.useCodepage = true; и xml_b.contentType = "text/xml"; убирались, не на что не повлияли.
LoadVars сейчас попробую...