在PHP5.0 中,simplexml_load_file()是一個很好的讀取和處理XML文件的函數,但是在讀取和處理中文時會出現亂碼,經過研究發現,如果是中文內容,必須經過iconv編碼轉換,否則顯示為亂碼,代碼如下:
英文正確中文亂碼,這個我估計就是編碼問題了,后來網上找到了相關文章,如核心如下:
1、如果xml的encoding與文件類型不符,立刻報錯
2、simplexml可以處理gbk的XML,即文件內容和encoding都為gbk(ANSI格式)
3、不管文件內容是什么,處理完了,都是UTF8.
具體方法如下:$chname = iconv('utf-8', 'gb2312', $table->param["name"]);
實現將編碼為'utf-8'的XML文件內容轉換為 gb2312 格式的內容,中文編碼采用gb2312格式輸出,還有一種辦法本人沒測試過直接攤販頁面編碼轉成uft8,代碼如下:
下一篇 php獲取數組最后一個元素的方法