Elakadtam a kódolással / UTF / Win-1250
Sziasztok!
Windows 7, 64 bit, Apache, PHP, Delphi.
Nagyon elakadtam kódolási problémákkal, ezért most már azzal is beérném, hogy ha tudnék működő php kódot kapni.
Tehát: MSXML2.XMLHTTP alól küldök PHP felé XML-t és azt is várnék vissza.
A PHP fájl UTF8 kódolt (PSPAD) és a belőle generált XML frankón megérkezik.Ez rendben.
Ám amint én akarok ékezeteseket küldeni az XMLHTTP-n keresztül, mindjárt nem a megfelelő karaktereket kapom...
Ha a php-ban definiálom, hogy:akkor a kimenet frankó, nagyszerű.
Ha a bemenő paramétert raknám bele:akkor természetesen nem jó az eredmény.
De ha konvertálom, akkor sem jó!Teljesen elakadtam, mert fogalmam sincs, hol lehet a hiba oka.
a.) már a COM object rosszat küld
b.) valamit elszúrok php alatt
c.) mittomén?
Valaki foglalkozott már efféle dolgokkal?
Tud valaki olyan kódot küldeni, amiben a bemenő XML-ből kivett paramétert belehelyezi a kimenő kódba és az azonos lesz azzal, mintha egy változót definiáltam volna szimplán php alól?
Mert ez utóbbival remekül megy a generálás, csak az inputból nem olyan sosem, mint kéne legyen!!!
Vagy van tippetek, hogyan teszteljem? Mivel lehet hasonlóan küldeni, mint fenti COM object-tel?
Köszönöm!
Üdv: dd
■ Windows 7, 64 bit, Apache, PHP, Delphi.
Nagyon elakadtam kódolási problémákkal, ezért most már azzal is beérném, hogy ha tudnék működő php kódot kapni.
Tehát: MSXML2.XMLHTTP alól küldök PHP felé XML-t és azt is várnék vissza.
A PHP fájl UTF8 kódolt (PSPAD) és a belőle generált XML frankón megérkezik.
$s = 'alma árvíztűrő tükörfúrógép beta';
$doc = new DOMDocument('1.0', 'utf-8');
$doc->formatOutput = true;
$m = $doc->createElement('package');
$doc->appendChild($m);
$n = $doc->createElement('Msg');
$m->appendChild($n);
$n->nodeValue = $s;
$xs = $doc->saveXML();
header('Content-Type: text/xml');
echo($xs);
Ám amint én akarok ékezeteseket küldeni az XMLHTTP-n keresztül, mindjárt nem a megfelelő karaktereket kapom...
Ha a php-ban definiálom, hogy:
$s = 'ÁRVÍZTŰRŐ TÜKÖRFÚRÓGÉP';
Ha a bemenő paramétert raknám bele:
global $HTTP_RAW_POST_DATA;
$xmlstr = $HTTP_RAW_POST_DATA;
$xml = new SimpleXMLElement($xmlstr);
$msg = $xml->msg;
$s = $msg;
De ha konvertálom, akkor sem jó!
$s = iconv('UTF-8', 'Windows-1250//IGNORE', $s);
v.
$s = iconv('UTF-8', 'ISO-8859-2//IGNORE', $s);
a.) már a COM object rosszat küld
b.) valamit elszúrok php alatt
c.) mittomén?
Valaki foglalkozott már efféle dolgokkal?
Tud valaki olyan kódot küldeni, amiben a bemenő XML-ből kivett paramétert belehelyezi a kimenő kódba és az azonos lesz azzal, mintha egy változót definiáltam volna szimplán php alól?
Mert ez utóbbival remekül megy a generálás, csak az inputból nem olyan sosem, mint kéne legyen!!!
Vagy van tippetek, hogyan teszteljem? Mivel lehet hasonlóan küldeni, mint fenti COM object-tel?
Köszönöm!
Üdv: dd
Csak találgatok
Ha így van, akkor nem lehet, hogy fel kellene cserélni az iconv-ban az első két paramétert?
A $s = 'ÁRVÍZTŰRŐ
$s = 'ÁRVÍZTŰRŐ TÜKÖRFÚRÓGÉP';
sztring kódolása olyan lesz, amilyen a php kódot tartalmazó szövegfájl kódolása, úgyhogy első körben azt érdemes megnézni, ha jól működik, hogy pontosan milyen kódolású. Második körben dumpold ki a hibás eredményt hexadecimálisan.Sziasztok! Köszönöm! Valóban
Köszönöm!
Valóban a Delphi oldalon volt a hiba, valahogy hiába akartam UTF8-at használni, ő UTF16-ra konvertálta...
Most megtaláltam a megoldást!
Ezer köszönet!
Üdv: dd
Melyik komponens?