Aller au contenu

PB Charset/Encodage SQlite


Recommended Posts

Bonjour à tous ;)

Je poste ce message car je rencontre un problème d'encodage de caractère dans ma base SQLite.

J'utilise SQliteManager pour créer/gérer mes base SQlite (http://www.sqlitemanager.org/). J'ai besoin de cet outil car ma base est utilisée sur un site internet et sur mon application (téléchargement auto lors de MAJ).

Le problème c'est que je ne connais pas l'encodage des caractères utilisé par cet outil et apparement ça ne plait pas trop à mon application Android.

Une phrase comme "école supérieure" deviens "飯le sup鲩eure".

Sur le site internet j'ai réussi à contourner ce problème avec la méthode PHP utf8_encode() (qui converti du ISO-8859-1 ou du Cp1252 en UTF-8), alors je me suis dit que j'allais faire pareil dans mon application Android :

 String convertedStr = new String(initialStr.getBytes("cp1252"), "UTF-8"); 

ou

 String convertedStr = new String(initialStr.getBytes("iso-8859-1"), "UTF-8"); 

Mais cela ne résous rien...

Alors soit je n'ai pas le bon Encodage en entrée (mais ça me parait bizzare car la fonction PHP fonctionne elle), soit l'instruction que j'utilise pour faire ma conversion n'est pas bonne.

Si quelqu'un a une idée :) , j'ai aussi ecrit au support SqliteManager mais je ne sais pas s'il sont très réactif pour répondre, le projet a l'air de tourner un peu au ralentis ...

Merci d'avance !

Lien vers le commentaire
Partager sur d’autres sites

  • 1 month later...

Bonjour,

petit up.

J'ai exactement le même problème et je bute toujours. Pour ma part j'ai essayé de convertir ma base de donnée de UTF-8 vers Latin1 sans grand succès.

As-tu trouvé une solution à ça ? Quelqu'un a-t-il une autre idée ?

Lien vers le commentaire
Partager sur d’autres sites

Pour ceux que ça intéresse et qui ont eu le même problème, il semblerait que certains logiciels d'administration de base SQLite enregistrent les données des champs avec un charset iso-8859-1 alors que la base est en UTF-8 (pas super malin :) ).

Du coup, j'ai injecté les données accentués en requête SQL à la place.

J'ai détecté ce problème avec SQLiteManager et SQLite Administrator.

Problème résolu pour moi.

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...