Insertion de caractères nationaux dans un oracle NCHAR ou NVARCHAR colonne ne fonctionne pas

Lors de l'insertion de chaînes de caractères dans une base de données oracle, certains caractères sont remplacés par des points d'interrogation, même si elles sont
inséré dans un NCHAR ou NVARCHAR de la colonne qui doit être capable de gérer tous les caractères Unicode.

Ce qui se passe à l'aide soit d'Oracle SQL Developer, sqlplus ou à l'aide du pilote JDBC.

La base de données NLS_CHARACTERSET est fixé à WE8ISO8859P1 (europe occidentale iso-8859-1)
Le NLS_NCHAR_CHARACTERSET utilisé pour NCHAR colonnes est définie al16utf16, respectivement. (UTF-16)

Tout caractère qui n'est pas dans le NLS_CHARACTERSET semble être remplacé par un point d'interrogation inversé.

  • Je suis auto de répondre à cette depuis que j'ai passé une semaine en essayant de se faire... j'espère que google trouve...
  • Notez que la bonne façon de support UTF8 sur Oracle, est de créer la base de données à l'aide de la base de données du jeu de caractères AL32UTF8, et l'utilisation ordinaire varchar2 colonnes.
InformationsquelleAutor KarlP | 2011-06-28