Oracle and i18n support

We have a requirement to store char data in different languages ​​in the same scheme. Oracle 10g is our database. I hope someone who has already done this will give me more specific instructions on how to enable i18n to enable oracle 10g db. We just need to store data from several locales, and also sort (hoping that all major db support this) support at the db level. We do not need to format dates, date and time, numbers, currency, etc.

I read some oracle i18n support documentation, but got a little confused in their many nls_ * properties. Should I use nls_lang or nls_language or NLS_CHARACTERSET .....

+5
source share
1 answer

Assuming that you are creating a database from scratch, do not try to modify an existing database that introduces other problems.

In the database, you need to make sure that the database character set supports all the characters that you want to keep. Presumably, this means setting the NLS_CHARACTERSET database to AL32UTF8. Personally, I also prefer to set NLS_LENGTH_SEMANTICS to CHAR. This changes the default behavior of VARCHAR2 (n) to allocate n storage characters, not n bytes. Since AL32UTF8 is a variable-length character set, using byte semantics is usually problematic because you either have to declare fields that are 3 times longer, and ultimately different users can enter different numbers of characters in one field.

NLS_LANG - . , . .

+6

All Articles