談談sqlit3編碼和插入中文亂碼問題

今天徹底鬱悶到了,折騰了一上午.終於明白了sqlit3編碼,和string 編碼轉換問題.總算有點收穫.下面就拿出來曬一曬.

我插入數據

ContentValues value = new ContentValues(2);
		value.put(table.city.ID, "1");
		value.put(table.city.NAME, "北京");
		Log.d("tag4", new String("北京"));
		this.getContentResolver().insert(CityProvider.URI_CITY, value);

用sqlit自帶的工具查看時亂碼,當時我就急了.怎麼會是亂碼呢!原因sqlit3編碼方式是GB2312,而顯示到我們面前的是UTF-8或者GBK方式,所以亂了


當我查詢出來用eclipse看是就不是亂碼了心裏也不慌了,因爲已經自動轉換成UTF-8或者GBK顯示出來了

雖然最後可能是我自己白忙活,整套機制起始android ecliipse sqlit 他們早就已經幫您弄好了,不需要你操心.但是我也學習了一下編碼轉換的知識:

String 轉GB2312 String s  = new String("北京".getBytes("GB2312"),"GB2312")

String 轉UTF-8 String s  = new String("北京".getBytes("UTF-8"),"UTF-8")

String 轉GBK String s  = new String("北京".getBytes("GBK"),"GBK")


發佈了154 篇原創文章 · 獲贊 2 · 訪問量 26萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章