2010-10-26 11 views
5

Nous avons besoin de stocker des données char de langue différente dans le même schéma db. Oracle 10g est notre DB. J'espère que quelqu'un qui a déjà fait cela me donnerait des instructions plus spécifiques sur la façon d'activer un oracle 10g db. Nous avons juste besoin de stocker les données à partir de plusieurs locales ainsi que le support (en espérant que tous les principaux db supportent cela) au niveau db. Nous n'avons pas besoin de formatage de dates, de datetime, de nombres, de devise, etc.support oracle et i18n

J'ai lu de la documentation sur le support i18n d'Oracle, mais je suis un peu confus au sujet de leurs nombreuses propriétés nls_ *. Dois-je utiliser nls_lang ou nls_language ou NLS_CHARACTERSET .....

Répondre

6

En supposant que vous construisez la base de données à partir de zéro, ne pas essayer de mettre à jour une base de données existante qui introduit d'autres problèmes.

Dans la base de données, vous devez vous assurer que le jeu de caractères de la base de données prend en charge tous les caractères que vous souhaitez stocker. Vraisemblablement, cela signifie que le paramètre NLS_CHARACTERSET de la base de données est défini sur AL32UTF8. Personnellement, je préfère définir NLS_LENGTH_SEMANTICS sur CHAR également. Cela modifie le comportement par défaut d'un VARCHAR2 (n) pour allouer n caractères de stockage plutôt que n octets. Comme AL32UTF8 est un jeu de caractères de longueur variable, l'utilisation de la sémantique des octets est généralement problématique car vous devez déclarer des champs 3 fois plus longs et différents utilisateurs peuvent entrer un nombre différent de caractères dans le même champ.

NLS_LANG est un paramètre client. Cela identifie le jeu de caractères auquel le client va demander la conversion des données. Cela dépend généralement de la page de codes du système d'exploitation.

+0

thx pour une réponse claire. quel est le sens si AL32UF8. Est-ce différent de UTF8? –

+1

AL32UTF8 est UTF8 ver. 3.1 – walla

+0

merci. Un peu plus de détails peuvent être trouvés à http://oracleappstechnology.blogspot.com/2007/10/difference-between-utf8-and-al32utf8.html –