今天徹底鬱悶到了,折騰了一上午.終於明白了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")