【发布时间】:2023-03-29 08:41:01
【问题描述】:
我有一个数据库,可以从中提取数据到我的 Android 项目中。那里有一些带有瑞典字母å、ä、ö的文本字符串:√•=å、√§=ä、√δ=ö。在我在应用程序的 textview 上打印这些符号之前,将它们转换为实际字母的最佳方法是什么?替代,比如用å替换√•,是要走的路吗?如何在现在获取数据的查询中输入:
public Cursor getAlternative1(long categoryid, int questionid) {
final String MY_QUERY = "SELECT question, image, alternative, questionid, correct FROM tbl_question a INNER JOIN tbl_alternative b ON a._id=b.questionid AND b.categoryid=a.categoryid WHERE a.categoryid=? AND a._id=?";
Cursor cursor = mDb.rawQuery(MY_QUERY, new String[]{String.valueOf(categoryid), String.valueOf(questionid)});
if (cursor != null) {
cursor.moveToFirst();
}
return cursor;
}
感谢您的帮助!
【问题讨论】:
-
如何将数据插入数据库?当我将瑞典语字母插入到我的中时,正如预期的那样,它全部出现在我的
ListView中。 -
它们插入为√•=å、√§=ä、√δ=ö,这些符号代表字母。如果上面的格式是像 utf-8 这样的已知格式,或者我应该为此替换它等等,这就是我所追求的翻译。
-
好的,所以听起来好像在插入时,您想要
å,实际上插入√•=å- 对吗?您是作为字符串文字(例如,String text = "√•=å";)还是让 Android 处理 UTF-16 编码(例如,String text = "å";)?由于Strings 已经采用 UTF-16 编码,您不需要自己处理翻译 - 它已经能够处理重音字符,而无需您做任何额外的工作。 -
对不起,我不清楚,在我的数据库中(我按原样导入,我自己没有输入任何数据)字母用√•等表示。对于HTML有一种简单的写 å 的方法,例如 ä,浏览器“理解”它。我错过了类似的转换吗?我该如何处理你所说的重音字符?
标签: android sqlite character mojibake