2011-05-09 72 views
1

我正在接收完美通過的XML響應。simplexml_load_string()不喜歡外語

諸如「português」和「españa」之類的單詞格式正確。

但是,一旦我通過php函數simplexml_load_string()解析了XML,這些單詞就會變換如下:「portugu s」和「espa a」。

+0

XML是否包含聲明編碼的聲明,例如'<?xml version ='1.0'encoding =「UTF-8」?>'? – 2011-05-09 23:21:09

+0

是的 - XML響應是雅虎老闆搜索結果響應。 – HGPB 2011-05-09 23:30:01

+0

請停止編輯我的問題。我只是不得不編輯它,因爲問題已經從「按順序」變成了「正確格式化」,這是相反的。現在停下來 - 夠了! – HGPB 2012-06-03 13:08:54

回答

2

簡單的XML總是將內部文本視爲UTF-8編碼,必要時轉換爲和從此字符集轉換。要解決您的問題,請確保應用的所有輸出都是UTF-8編碼或將其轉換爲另一個字符集(可能使用utf8decode())。

+0

感謝您的回覆。 UTF-8是我使用的編碼,所以我不明白爲什麼這些字符正在改變。這些字符阻止我將數據插入數據庫時​​遇到了主要問題。插入僅僅是失敗。刪除這些詞和插入作品。 – HGPB 2011-05-09 23:25:37

+0

我正在使用strtolower的話。該功能可能會破壞UTF8字符。 閱讀此處獲取更多有用信息: http://www.phpwact.org/php/i18n/utf-8 – HGPB 2011-05-11 12:37:45