2010-09-29 5 views
0

J'ai stocké du texte espagnol dans la base de données SQlite et je récupère le même dans le code java en utilisant la méthode row.getString() de l'API BlackBerry, mais je ne parviens pas à extraire le texte exact de la base de données , seuls les caractères accentués s'affichent différemment dans l'appareil (BlackBerry Bold 9700). Là où je me trompe, veuillez me diriger dans la bonne direction.Récupération incorrecte du texte espagnol de SQlite dans Blackberry

Cordialement,

Vinayak

+0

S'il vous plaît formater correctement la prochaine fois que vous copiez coller. –

Répondre

0

row.getString() ne permet pas de spécification de l'encodage - donc le code du système d'exploitation devrait faire la bonne chose lors de la récupération d'une chaîne de la base de données. Mon expérience avec SQLite sur BlackBerry est que les OS construits autour de 5.0.0.4xx ont un bug où le codage de la base de données n'est pas respecté lors de la récupération. J'ai dû contourner ce problème en faisant

new String(row.getString().getBytes(), "UTF-8") 

Mais bien sûr, que sur les versions problématiques OS, comme cela casserait toute mise en œuvre correcte de row.getString().

Les versions avec cette question que je l'ai rencontré à ce jour sont: 5.0.0.442 et 5.0.0.423

0

Cela ressemble à un problème avec l'encodage. Vous devez utiliser le même codage lorsque vous chargez le texte que vous avez utilisé pour le stocker. This blog est une bonne référence pour les problèmes Unicode.

1

Il est sûrement un problème avec le codage charset. C'est un problème commun en utilisant les accents espagnols et les tildes. SQLite utilise UTF-8, vous devez donc vérifier si votre application utilise UTF-8 ou autre.

EDIT: Choisit l'encodage par défaut à l'API BlackBerry Vous devez définir la propriété système microedition.encoding. Référence: http://www.blackberry.com/developers/docs/4.5.0api/java/lang/System.html

Vous pouvez définir cette propriété à la ligne de commande: java -Dmicroedition.encoding="UTF-8" MyApp

+0

Selon [this] (http://www.sqlite.org/version3.html), il prend également en charge UTF-16. –

+0

Oui, j'utilise le codage UTF-8 pour le SQlite, mais comment puis-je m'assurer que mon application utilise le même codage (par exemple UTF-8). –

+0

True. De la version 3.0. Merci pour le point. –

Questions connexes