参考这篇文章
https://blog.csdn.net/luofeixiongsix/article/details/50375879
如果SQlite中存取的是中文字符时,直接使用cursor.getString读取数据,读出来的数据会出现乱码,此时需要进行一定的转换。
下面是一种有效的读取方法,先以二进制数据从SQLite中读出,再用uft-8对中文进行编码
byte[] val = cursor.getBlob(cursor.getColumnIndex("name"));
String name = new String(val, "utf-8");
但是这样就可以正确地显示中文字符,而不是乱码。但需要注意一点就是,这种转换后的字符,结尾多了空格符,需要使用trim函数去除掉
name = name.trim()
这样的结果就完全正确了。