IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

problème des caractères accentués


Sujet :

Android

  1. #1
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Juin 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 16
    Points : 13
    Points
    13
    Par défaut problème des caractères accentués
    Je lis des données à partir d'un fichier .sql que j'ai importé de SQLITE mais j'ai un problème des caractères accentués qui sont remplacés par un caractère "?"

    j'ai utilisé un convertisseur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ListeActiviteNiv2.get(i).Libelle_Langue1.getBytes("UTF-8"),"UTF-8")
    ListeActiviteNiv2.get(i).Libelle_Langue1.getBytes("ISO-8859-1"),"UTF-8")
    ListeActiviteNiv2.get(i).Libelle_Langue1.getBytes(), "ISO-8859-1")
    la ListeActiviteNiv2 contient le resultat d'une requette

    mais rien ne marche

    Une idée ?
    Merci.

    Sara

  2. #2
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    SQLite tourne en UTF-8 sur Android par défaut.... Donc devrait être capable d'encoder *tous* les caractères unicode.

    Mais dans tous les cas, le "driver' devrait s'en occuper... et getString() retourner la même chaîne passée avec le setString() (sur le insert).

    Ensuite, il est possible de que la *base* elle même contienne des caractères '?' ?
    Comment les données ont-elles été importée dans la base ?
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 30
    Points : 20
    Points
    20
    Par défaut
    Bonjour,

    j'ai eu un problème analogue.

    j'importai des données depuis un fichier excel au format texte csv.

    Solution : ouvrir le fichier csv avec un éditeur par exemple notepad++ et lui demander d'encoder les caractères au format désiré UTF8 (sans BOM).

  4. #4
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Juin 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par nicroman Voir le message
    SQLite tourne en UTF-8 sur Android par défaut.... Donc devrait être capable d'encoder *tous* les caractères unicode.

    Mais dans tous les cas, le "driver' devrait s'en occuper... et getString() retourner la même chaîne passée avec le setString() (sur le insert).

    Ensuite, il est possible de que la *base* elle même contienne des caractères '?' ?
    Comment les données ont-elles été importée dans la base ?
    pour importer les données dans la base j'ai généré un fichier .sql à partir de SQLITE et je l'ai copié dans le dossier assets de mon projet quand j'ouvre ce fichier sous eclipse les caractères sont correctement affichés.

  5. #5
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par emowpya Voir le message
    pour importer les données dans la base j'ai généré un fichier .sql à partir de SQLITE et je l'ai copié dans le dossier assets de mon projet quand j'ouvre ce fichier sous eclipse les caractères sont correctement affichés.
    Ok... Eclipse affiche bien (mais il y a de fortes chances pour que le fichier soit en Cp1252)... C'est toute la chaîne qui risque de véroler les caractères (y compris le log, System.out, Console eclipse, ... c'est là ou c'est encore plus marrant)

    [SQLITE - UTF8] ==> Data OK.
    |
    [Fichier .sql - ?] ==> Data OK, mais on ne sait pas quel Charset à priori Cp1252
    |
    [Eclipse .sql - ?] ==> Data OK (à priori Cp1252)
    |
    .... ? ...
    |
    [SQLITE - UTF8] ==> ?
    |
    [Java - UTF16] ==> ?
    |
    [Android - UTF8] ==> ?

    C'est pour cela que je voudrais voir un peu plus de code:
    Comment les données sont extraite de SQLite au départ
    Comment le fichier .sql est généré (mais il a l'air d'être bon)
    Ce qu'on fait de ce fichier .sql (comment est-il lu)
    Comment les données de la base SQLite android sont générées
    Comment (et où) le '?' s'affiche ? (android TextView ? LogCat, Console ?)
    Est-ce que la chaîne java est correcte ? (break-point view variable).
    etc...
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  6. #6
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Juin 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par nicroman Voir le message
    Ok... Eclipse affiche bien (mais il y a de fortes chances pour que le fichier soit en Cp1252)... C'est toute la chaîne qui risque de véroler les caractères (y compris le log, System.out, Console eclipse, ... c'est là ou c'est encore plus marrant)

    [SQLITE - UTF8] ==> Data OK.
    |
    [Fichier .sql - ?] ==> Data OK, mais on ne sait pas quel Charset à priori Cp1252
    |
    [Eclipse .sql - ?] ==> Data OK (à priori Cp1252)
    |
    .... ? ...
    |
    [SQLITE - UTF8] ==> ?
    |
    [Java - UTF16] ==> ?
    |
    [Android - UTF8] ==> ?

    C'est pour cela que je voudrais voir un peu plus de code:
    Comment les données sont extraite de SQLite au départ
    Comment le fichier .sql est généré (mais il a l'air d'être bon)
    Ce qu'on fait de ce fichier .sql (comment est-il lu)
    Comment les données de la base SQLite android sont générées
    Comment (et où) le '?' s'affiche ? (android TextView ? LogCat, Console ?)
    Est-ce que la chaîne java est correcte ? (break-point view variable).
    etc...

    comme je t'ai dis les données sont extraites de cette façon j'ai crée la base sous SQLITE >Export >Fichier .sql après j'ai pris ce fichier et je l'ai mis dans le dossier assets de mon projet en suite j'accede a cette base par ma classe DAO :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    public class BaseDao {
    	private static MaBaseSQLite maBaseSQLite=null;
    	protected SQLiteDatabase bdd;
    	private static final int VERSION_BDD = 2;
    	private static final String NOM_BDD = "soustraitants.db";
    	protected Activity ctx;
    	public BaseDao(Context ctx){
    		if (maBaseSQLite==null){
    			MaBaseSQLite.setmCtx(ctx);
    			maBaseSQLite = new MaBaseSQLite(ctx, NOM_BDD, null, VERSION_BDD);
    			}
    	}
    	public void openread(){
    		bdd = maBaseSQLite.getReadableDatabase();
    	}
    	public void openwrite(){    
    		bdd = maBaseSQLite.getWritableDatabase();
    	}
     
    	public void close(){
    		bdd.close();
    	}
     
    	public SQLiteDatabase getBDD(){
    return bdd;
    	}
    }
    ensuite je recupère les données par une requette SELECT simple

    par un break-point je vois que les é sont affichés "'?'" avant meme de les mettre dans le textview

  7. #7
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Juin 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par J-Menezo Voir le message
    Bonjour,

    j'ai eu un problème analogue.

    j'importai des données depuis un fichier excel au format texte csv.

    Solution : ouvrir le fichier csv avec un éditeur par exemple notepad++ et lui demander d'encoder les caractères au format désiré UTF8 (sans BOM).

    Merci ta solution marche

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. encodage problème des caractères accentués
    Par thomyvp dans le forum Langage
    Réponses: 8
    Dernier message: 15/03/2015, 12h31
  2. Problème d'insertion des caractères accentués
    Par yaya0057 dans le forum Général Java
    Réponses: 5
    Dernier message: 24/02/2011, 10h42
  3. [Artichow] Caractères accentués des légendes
    Par tiantian dans le forum Bibliothèques et frameworks
    Réponses: 8
    Dernier message: 19/07/2007, 16h18
  4. Problème d'affichage des caractères accentués
    Par Neuromancien2 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 07/07/2007, 13h43
  5. Problème d'affichage des caractères accentués
    Par ostaquet dans le forum JBuilder
    Réponses: 1
    Dernier message: 10/03/2005, 06h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo