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

Administration Oracle Discussion :

Probleme caractères coréens


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2008
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 24
    Par défaut Probleme caractères coréens
    Bonjour,
    J'ai un problème sous oracle. Je voudrais afficher les caractères coréens comme 아해글 dans ma table, mais j'obtiens des points d'interrogations( ????).

    Pour information : Mon champ est de type NVARCHAR2, et les caractères sont codés par : WE8ISO8859P15

    En revanche quand je l'ajoute manuellement dans la table avec Copier-Coller ca fonctionne normalement, mais avec une requête, j'obtient des ????

    Le soucis c'est que je ne pourrai pas modifier les caractères de la base car cela impactera énormément de choses.

    Merci d'avance pour votre aide.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    461
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 461
    Par défaut
    Bonjour,

    Pouvez-vous nous fournir le résultat de la requète suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from NLS_DATABASE_PARAMETERS ;
    De plus, lorsque vous dites
    J'ai un problème sous oracle. Je voudrais afficher les caractères coréens comme 아해글 dans ma table, mais j'obtiens des points d'interrogations( ????).
    A partir de quel outil interrogez-vous votre table ?

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    Il faut lire et comprendre le tutoriel suivant http://fadace.developpez.com/oracle/nls/ pour bien comprendre le rôle de NLS_LANG lorsque les données sont écrites dans la base et lorsqu'elles sont lues.

  4. #4
    Membre averti
    Inscrit en
    Août 2008
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 24
    Par défaut
    Bonsoir,
    Voici ce que me rend ma requête :
    SELECT * FROM NLS_DATABASE_PARAMETERS ;


    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
    NLS_LANGUAGE			AMERICAN
    NLS_TERRITORY			AMERICA
    NLS_CURRENCY			$
    NLS_ISO_CURRENCY			AMERICA
    NLS_NUMERIC_CHARACTERS		.,
    NLS_CHARACTERSET			WE8ISO8859P15
    NLS_CALENDAR			GREGORIAN
    NLS_DATE_FORMAT			DD-MON-RR
    NLS_DATE_LANGUAGE		AMERICAN
    NLS_SORT	BINARY
    NLS_TIME_FORMAT			HH.MI.SSXFF AM
    NLS_TIMESTAMP_FORMAT		DD-MON-RR HH.MI.SSXFF AM
    NLS_TIME_TZ_FORMAT		HH.MI.SSXFF AM TZR
    NLS_TIMESTAMP_TZ_FORMAT		DD-MON-RR HH.MI.SSXFF AM TZR
    NLS_DUAL_CURRENCY		$
    NLS_COMP				BINARY
    NLS_LENGTH_SEMANTICS		CHAR
    NLS_NCHAR_CONV_EXCP		FALSE
    NLS_NCHAR_CHARACTERSET		AL16UTF16
    NLS_RDBMS_VERSION		10.2.0.4.0

    L'outil que j'intéroge est Sql Developer.
    Pour confirmer un truc, quand je fais copier coler le coréen dans le champ ca marche, mais avec un Insert ç marche pas.

    Merci

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    461
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 461
    Par défaut
    Bonjour Eric,

    Dans l'absolu, votre base aurait du être créée en KO16MSWIN949 (MS Windows Code Page 949 Korean) sur un OS Windows.

    Vu que ce n'est pas le cas, avant de lancer votre outil pour requêter, modifiez votre character comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SET NLS_LANG=.KO16MSWIN949
    Puis lancez SQL Developer et dites nous si ça corrige votre problème d'affichage.

  6. #6
    Membre averti
    Inscrit en
    Août 2008
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 24
    Par défaut
    Bonjour Tibal,
    C’est vrai que dans l’absolu la base doit être autrement. Mais il faut savoir qu’il n y a pas que du coréen. La base est sensé recevoir tout caractère, puisque il s’agit d’une application qui gère l’internationalisation. Il y’a de L’hébreu, chinois, Arabe et autre….

    La base est sur un serveur Linux et les postes clients sont variés, soit Windows, soit Linux...

    Pour répondre à ta question
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SET NLS_LANG=.KO16MSWIN949
    Je ferai ça où ? Étant donné que je ne suis pas l’administrateur de la base. Le seul outil que j’ai à ma disposition est SQL Developer.

    Merci

  7. #7
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 8
    Par défaut
    Citation Envoyé par tibal Voir le message
    Bonjour Eric,

    Dans l'absolu, votre base aurait du être créée en KO16MSWIN949 (MS Windows Code Page 949 Korean) sur un OS Windows.

    Vu que ce n'est pas le cas, avant de lancer votre outil pour requêter, modifiez votre character comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SET NLS_LANG=.KO16MSWIN949
    Puis lancez SQL Developer et dites nous si ça corrige votre problème d'affichage.
    Bonjour Tibal,

    Eric utilise les types de données N d'Oracle qui permettent de faire du multilingue dans une base de données non prévues initialement pour le faire (ancien projet qui voudrait conserver son existant mais en l'améliorant).
    C'est pour ça que sa base est en P15 et qu'il a une problématique unicode (pour le KOREEN).

    NB : la bonne syntaxe pour NLS_LANG est NLS_LANG=_.KO16MSWIN949 (le _ est important). Même si ça ne pose pas de problème à Oracle.

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

Discussions similaires

  1. probleme caractère spéciaux
    Par yochima dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 09/11/2010, 10h14
  2. probleme : caractères speciaux enlevés
    Par hendrix67 dans le forum Langage
    Réponses: 1
    Dernier message: 17/05/2010, 22h21
  3. [Shell] Probleme caractères spéciaux
    Par davasm dans le forum Linux
    Réponses: 2
    Dernier message: 03/04/2009, 10h31
  4. probleme caractères accentués
    Par Choupinou dans le forum Général Python
    Réponses: 4
    Dernier message: 22/03/2007, 15h57
  5. Réponses: 1
    Dernier message: 07/08/2006, 11h22

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