Hoi!Delphi,MSXML2.XMLHTTP,PHP和Win-1250字符集編碼
我試圖在Windows中製作web服務。
客戶端是Delphi 6,帶有MSXML2.XMLHTTP調用,另一端是PHP。
首先我測試了一下:我可以收到匈牙利語的XML嗎?
PHP源代碼是UTF-8編碼文件(PSPAD)。
$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);
這個軟件包我完全在德爾福方面,口音都可以。
所以然後我試圖從xml注入數據(後綴xml到帶有重音符號的php)。
global $HTTP_RAW_POST_DATA;
$xmlstr = $HTTP_RAW_POST_DATA;
$xml = new SimpleXMLElement($xmlstr);
$msg = $xml->msg;
#$msg = 'ÁRVÍZTŰRŐ TÜKÖRFÚRÓGÉP';
好吧,我得到了「味精」的領域,但無論如何,我試圖將其轉換,每次我得到了一些轉換通知,而結果是不一樣的,當我直接設置變量...
調試是:
echo(utfCharToNumber($sinput).'<br>');
echo(utfCharToNumber($sdefined).'<br>');
Input: 195[ ]8286195141908419717682197[ ]328419
Defined: 195[129]8286195141908419717682197[144]328419
Input: 5156751951508270195154821951477119513780<br>
Defined: 5156751951508270195154821951477119513780<br>
正如你看到兩個洞我都在變,當我從MSXML2轉換的輸入。
我真的不明白這一點。
我無法重現從得到輸入XML,當我直接設置在PHP代碼中的數據...
爲什麼XML輸出相同?
感謝您的每一個幫助,想法,鏈接,文件,小例子!
DD