我有與PHP相關的第n個問題編碼!PHP在編寫web服務調用時的編碼問題
這樣的故事是:
我從一個文件(ISO-8859)讀取URL。我不能改變這個文件的編碼,因爲我不會在這裏討論。
我使用該網址來調用其他web服務。
這個url恰好包含了符號「è」,這個符號在PHP引擎加載時傳遞給 。
因此,web服務返回併產生意外的結果,因爲它得到的實際上是「perch 」而不是「perchè」。
我試圖強迫PHP做符合ISO-8859的工作:
ini_set('default_charset', "ISO-8859");
的問題是,它仍然無法正常工作和web服務不能正確回答。我確定web服務正常工作,因爲我試圖在瀏覽器中手動複製粘貼網址,並收到了預期的數據。
備註:一個URL不應該包含非ASCII - 即使它通常有效,它們也應該是URL編碼的。 – 2011-06-14 14:54:28