如何在Android应用中显示瑞典字符?

我有一个数据库,我从我的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;
            }
谢谢你的帮助!     
已邀请:
看来您的字符串数据最初是以UTF-8编码的,但却被误解为MacRoman。 首先要确保您的数据正确存储在数据库中。您可以使用
SELECT HEX(SomeColumn)
查看为字符串存储的原始字节。 SQLite中的默认编码是UTF-8,因此正确编码的字符串
å
å
C3A4
ä
C3B6
ö
。如果你看到
E2889AE280A2
E2889AC2A7
E2889AE28882
,那么在数据进入数据库之前就会发生对字符的错误解释(å→√•,ä→√§,ö→√)。如果你只看到
8C
8A
9A
,那么就会产生相反的错误解释。 如果您的数据库是正确的,那么它可能是一个I / O例程,它认为系统编码是UTF-8,当它真的是MacRoman时。尝试类似
System.setProperty("file.encoding", "macintosh");
的东西。     
这是一个很老的帖子,但如果你使用windows cmd shell将数据导入sqlite,请尝试在shell中执行此操作: c:> chcp 65001 这会将cmd shell的代码页更改为utf 8 c:> sqlite3 database.db< inserts.sql 其中inserts.sql是一个UTF-8(没有BOM CHARACTER !!)插入序列。您可以使用Notepad ++创建该类型的文件 希望能帮助到你     

要回复问题请先登录注册