很多android開發者可能一直抱怨xml解析庫不夠完善,對於國內很多server並不是標準的utf-8編碼,遇到中文時可能解析器會停止或解析出來的是亂碼。這裡給大家說下常見的解決方法:
一、android sax庫遇到gbk或gb2312編碼時
方法1. 可以顯示的指明編碼比如
inputsource is = new inputsource(inputstream); is.setencoding("utf-8");
方法2. 使用inputstreamreader轉換 在sdk中可以檢視有這樣例項化方法,引數二為字符集
inputstreamreader(inputstream in, charset charset)
具體使用可以是
inputsource is=new inputsource(new inputstreamreader(inputstream,"gb2312"));
有關inputsource的細節,我們遵循 如果有字元流可用,則解析器將直接讀取該流,而忽略該流中找到的任何文字編碼宣告。如果沒有字元流,但卻有位元組流,則解析器將使用該位元組流,從而使 用在 inputsource 中指定的編碼,或者另外(如果未指定編碼)通過使用某種諸如 xml 規範 中的演算法演算法自動探測字元編碼。如果既沒有字元流,又沒有位元組流可用,則解析器將嘗試開啟到由系統識別符號標識的資源的 uri 連線 。
二、android開發網推薦大家盡量在伺服器上配置使用utf-8編碼,雖然顯示英文本元較為兩非,但是相容性是最好的,也是國際最主流的標準。
android解析XML檔案
對於config.xml 1.dom方式 public void getbydom catch saxexception ex catch ioexception ex catch parserconfigurationexception ex 2.pull方式 public void getbyp...
android下解析xml檔案遇到中文問題
很多android開發者可能一直抱怨xml解析庫不夠完善,對於國內很多server並不是標準的utf 8編碼,遇到中文時可能解析器會停止或解析出來的是亂碼。這裡android123給大家說下常見的解決方法 一 android sax庫遇到gbk或gb2312編碼時 方法1.可以顯示的指明編碼比如 i...
android中解析XML檔案
上面這個鏈結詳細介紹了幾種xml的解析方法以及原理。下面是實現思路 1.讀取xml檔案 2.獲取讀取事件,如果檔案結束,則停止解析 3.處理讀取事件 4.回到第二步。下面是實現過程 1.要解析的xml檔案內容 name jim age 123 gender male email mail hostn...