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

SQL Oracle Discussion :

Inserer des caractères spéciaux


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 28
    Par défaut Inserer des caractères spéciaux
    Bonjour à tous,

    J'ai une base de données Oracle, dans laquelle je dois insérer du texte.

    Voici un exemple de phrase que je dois insérer :
    Une table existe dans un tablespace qui est constitué d’un ou plusieurs fichiers
    Mon soucis, les caractères spéciaux ne sont pas bien toléré pas ma base de données. De plus lorsque je récupère ces données, je dois les afficher sur une page html, et au lieu de voir les caractères accentué j'ai droit à un gros carré.

    Auriez-vous une solution ?

    Merci d'avance.

  2. #2
    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
    C'est peut-être un problème de configuration de la variable d'environnement/clé de registre NLS_LANG.

    Quel est le jeu de caractères de la base ?
    Pouvez-vous afficher les données correctement avec SQL*Plus ?
    Quelle est la valeur de NLS_LANG ?

    Voir: http://fadace.developpez.com/oracle/nls/

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 28
    Par défaut
    Coté base de données il n'y a pas de problème d'affichage, les accents s'affichent correctement.

    Par contre pour insérer une phrase dans la base de données je dois préalablement remplacer les ' par des espaces.

    Pour le NLS_LANG je n'ai pas bien compris ce qu'il fallait faire.

    Merci d'avance.

  4. #4
    Rédactrice

    Avatar de kalyparker
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Janvier 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 327
    Par défaut
    Bonjour,

    Pour connaitre la valeur de NLS_LANG, lance cette commande sur sqlplus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM NLS_DATABASE_PARAMETERS ;
    Donne nous le résultat de cette requête.
    It isn't that they can't see the solution, it's that they can't see the problem.
    Mes Articles et Traductions (Microstrategy, Css et Javascript)
    Si vous souhaitez contribuer à la rubrique BI, contactez-moi ou tout autre membre de l'équipe BI par MP.

  5. #5
    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
    NLS_LANG est composé de 3 parties:
    - le language
    - le territoire
    - et le jeu de caractères utilisé par le client (qui n'est pas forcément celui utilisé par la base)

    Cette 3ième partie ne peut pas être retrouvée à partir de la base de données car NLS_LANG est une option de configuration toujours positionnée en dehors de la base de données: variable d'environnement (Unix) ou clé de registre (Windows).

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 28
    Par défaut
    Bon tout d'abord, voici ce que m'affiche la requete :
    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
    28
     
    SQL> SELECT * FROM NLS_DATABASE_PARAMETERS ;
     
    PARAMETER                      VALUE
    ------------------------------ -----------------------------------
    NLS_LANGUAGE                   AMERICAN
    NLS_TERRITORY                  AMERICA
    NLS_CURRENCY                   $
    NLS_ISO_CURRENCY               AMERICA
    NLS_NUMERIC_CHARACTERS         .,
    NLS_CHARACTERSET               WE8MSWIN1252
    NLS_CALENDAR                   GREGORIAN
    NLS_DATE_FORMAT                DD-MON-RR
    NLS_DATE_LANGUAGE              AMERICAN
    NLS_SORT                       BINARY
    NLS_TIME_FORMAT                HH.MI.SSXFF AM
     
    PARAMETER                      VALUE
    ------------------------------ -----------------------------------
    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           BYTE
    NLS_NCHAR_CONV_EXCP            FALSE
    NLS_NCHAR_CHARACTERSET         AL16UTF16
    NLS_RDBMS_VERSION              10.2.0.1.0
    Ma base de données est actuellement sous Windows, mais à terme elle sera installée sur Linux, quels sont les paramètres que je dois modifier ?

    Merci d'avance.

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

Discussions similaires

  1. [MySQL] inserer des caractères spéciaux
    Par kaayna dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 04/04/2011, 16h08
  2. problème avec l'affichage des caractères spéciaux
    Par michelkey dans le forum Général Python
    Réponses: 4
    Dernier message: 19/08/2005, 08h09
  3. [XSLT] Remplacer par des caractères spéciaux
    Par OXyGN dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 29/07/2005, 17h30
  4. traitement des caractères spéciaux avec XSLT
    Par Mirgue dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 19/07/2004, 16h57
  5. Où trouver la liste des caractères spéciaux?
    Par gamez dans le forum Langage
    Réponses: 3
    Dernier message: 19/08/2003, 17h54

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