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

SGBD Perl Discussion :

DBI et les accents


Sujet :

SGBD Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 14
    Par défaut DBI et les accents
    Bonjour,

    Voici mon problème : je me connecte à l'aide de DBI à une BDD Oracle pour y lire des chaines de caractères qui peuvent contenir des accents.

    Seulement voilà, dans les chaines que je récupère les accents des caractères accentués ont disparus. J'ai donc "e" à la place de "é", "a" à la place de "à" etc ...

    j'ai essayé de positionné la variable d'environnement NLS_LANG successivement à 'FRENCH_FRANCE.AL32UTF8', 'AMERICAN_AMERICA.AL32UTF8' et aussi (désespérément) à '.AL32UTF8' avant d'appeler la methode 'connect', mais c'est devenu pire. A chaque essai, les "é" sont devenus les 3 caractères "�" (EF BF BD en hexa).


    j'utilise:
    DBD-Oracle-1.18
    DBI-1.28
    Oracle 10g

    et quelques paramètres de ma BDD :
    NLS_LANGUAGE FRENCH
    NLS_TERRITORY FRANCE
    NLS_CHARACTERSET AL32UTF8
    NLS_NCHAR_CHARACTERSET UTF8

    Si quelqu'un à une idée ...
    Merci !

  2. #2
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Et comment affiches-tu ces caractères ? Es-tu certain que le problème n'est pas plutôt là ? Quel est le charset de ta base de toute façon ?

    --
    Jedaï

  3. #3
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 606
    Par défaut
    J'ai eu le même soucis sur une base MySql avec les accents rempaçés par des caractères bizarres du style @A pour le a, etc.

    J'ai rajouté cette option là et depuis, plus aucun problème : DEFAULT CHARACTER SET latin1

    Je ne voudrais pas dire de bêtise mais côté Oracle, c'est pas ceci qu'il faudrait : NLS_CHARACTERSET WE8ISO8859P1 qui correspondrait sauf erreur à la norme internationale ISO 8859-1 pour le jeu de caractères de l'Europe de l'Ouest ?

    Voir lien : http://vilarbts.dyndns.org:800/Nicot...l.htm#BABJACJJ

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 14
    Par défaut
    Le charset de ma base est 'FRENCH_FRANCE.AL32UTF8' (résultat de la requête "SELECT USERENV ('LANGUAGE') FROM DUAL;" Donc j'ai valorisé maintenant NLS_LANG à cette valeur

    Comme tu le supposais Jedai, mon affichage m'induisait en erreur. En sortie de DBI, j'obtiens en fait 1 seul caractère pour mon "é" : la valeur E9 (et non pas 3 octets comme je croyais).

    Mais je croyais qu'en utf-8, le caractère "é" se codait C3 A9 ? est-ce normal ?
    Est-ce un problème de DBI ?

    Sachant que derrière, j'ai un programme Java qui lit cette information et qui n'aime pas du tout le E9 tout seul (c'est lui qui me sortait "�" en fait).

Discussions similaires

  1. [FoxPro]Instruction pour enlever les accents ?
    Par Fab-FoxPro dans le forum Autres SGBD
    Réponses: 3
    Dernier message: 02/01/2025, 16h09
  2. [String] Comment supprimer les accents
    Par iuz dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 08/03/2004, 03h58
  3. [JDBC] Problème avec les accents
    Par seawolfm dans le forum Administration
    Réponses: 2
    Dernier message: 29/01/2004, 15h56
  4. les accents et printf
    Par remi77 dans le forum C
    Réponses: 5
    Dernier message: 07/07/2003, 21h53
  5. Comment afficher les accent sous mysql v4.0.13
    Par buildozer dans le forum Requêtes
    Réponses: 2
    Dernier message: 17/06/2003, 10h33

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