Android SQLite显示åäö

时间:2011-09-03 12:24:30

标签: android database sqlite encoding

我在Android应用程序中显示瑞典字符“åäö”,从我的数据库中读取时出现问题。

我使用sqlite3命令提示符shell创建了数据库,并在那里正确显示了字符。此外,未在数据库中读取的“åäö”在应用程序中正确显示。

我到处搜寻,我想不出解决方案。我在我的数据库文本上尝试了不同的编码,但似乎没有用。

1 个答案:

答案 0 :(得分:1)

您没有提到是否使用javaScript / PhoneGap或Java与Android中的Sqlite进行通信。 //是的,我知道PhoneGap也在使用Java。

如果您使用的是纯Java,最好查看以下链接,因为Java处理utf-8编码的方式有一些更新。受影响的版本是:JDK7,Open JDK 6,JDK 6 update 1,JDK5.0u17和1.4.2_19。据我所知,Android中的Java版本遵循新制度。

参考:http://blogs.oracle.com/CoreJavaTechTips/entry/the_overhaul_of_java_utf

你提到你已经为数据库尝试了不同的编码,但是你没有提到你是通过Android还是通过桌面上的cmd / gui完成的。

无论如何,我会给你一些指示。你可能已经知道了所有这些,但无论如何我都会把它包括在内。

<强> HTML

正如Tapirboy在评论中提到的那样,请确保为您正在使用的任何视图设置了字符编码。对于HTML5,您可以这样做:

<meta charset="UTF-8">

<强> CSS

您还应该确保您已经并且正在使用Android中的utf-8兼容字体。默认的DroidSans.ttf能够为所有西方语言绘制utf-8字符。

在CSS中,font-family应设置为“Droid Sans” not “droidsans”。

<强> SQLITE

检查sqlite中的字符编码:

PRAGMA encoding;

在sqlite中设置字符编码:

PRAGMA encoding = "UTF-8";

<强>的JavaScript

<script type="text/javascript" charset="utf-8">
</script>

正如您所说,我正在使用除英语以外的其他语言开发Android应用程序。就我而言,它是挪威语和泰语。

我使用PhoneGap 1.1.0和jQuery 1.6.4为Sqlite,webview和javaScript设置了字符编码为utf-8,并且在Android Emulator中显示挪威语和泰语字符没有问题。

Hälsningfrånnnnorrbagge