开发者

Android SQLite display åäö

I have a problem displaying the swedish characters "åäö", read from my database, in my android application.

I have created the database using the sqlite3 command-p开发者_JS百科rompt shell and the characters display correctly there. Also "åäö" which are not read from the database display correctly in the application.

I have searched everywhere and I can't think of a solution. I've tryed different encodings on my database text but it doesn't seem to work.


You do not mention whether you are using javaScript/PhoneGap or Java to communicate with Sqlite in Android. // Yes, I know PhoneGap is using Java too.

If you are using pure Java, you better check out the following link as there have been some updates to how Java handles utf-8 encoding. Effected versions are: JDK7, Open JDK 6, JDK 6 update 1, JDK5.0u17, and 1.4.2_19. As far as I understand, the Java version in Android follows the new regime.

Reference: http://blogs.oracle.com/CoreJavaTechTips/entry/the_overhaul_of_java_utf

You mention that you have tried different encodings for the database, however you do not mention whether or not you have done this through Android or from cmd/gui on your desktop.

Anyhow, I will give you some pointers. You probably know all of this already, but I’ll include it anyway.

HTML

As Tapirboy mentioned in his comment, make sure you have set the character encoding for whatever view you are using. For HTML5 you can do that like this:

<meta charset="UTF-8">

CSS

You should also make sure that you’ve got, and are using, an utf-8 compatible font in Android. The default DroidSans.ttf is capable of drawing utf-8 characters for all western languages.

In CSS the font-family should be set to “Droid Sans” not “droidsans”.

SQLITE

Check character encoding in sqlite:

PRAGMA encoding;

Setting character encoding in sqlite:

PRAGMA encoding = "UTF-8";

JavaScript

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

As you, I’m developing Android applications in other languages than English. In my case it’s Norwegian and Thai.

I have set the character encoding to utf-8 for Sqlite, webview and javaScript, using PhoneGap 1.1.0 and jQuery 1.6.4, and have no problems displaying Norwegian and Thai characters in Android Emulator.

Hälsning från en norrbagge

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜