Originally posted by learning_bee
Is it ok for me to set the database NLS_CHARACTERSET=UTF8 (UNICODE) and on the workstation we set NLS_LANG=AMERICAN_AMERICA.CL8MSWIN1251, instead of NLS_LANG=AMERICAN_AMERICA.UTF8????
Hm, I believe, generally speaking, db character set should be able to handle all characters in the applictions,
and client character set determines how you should set nls_lang.

I.e. if app/os/terminal is using "MS code page 1251" you should indicate this to Oracle NLS (Two-Task?) layer by setting NLS_LANG=.CL8MSWIN1251, so that conversion to, say, UTF-8 is done properly. This way, if you have other clients (e.g. ISO 8859-1) they can have the proper characters read back.

You should read: http://download-uk.oracle.com/docs/c...a96529/toc.htm (as suggested by bsDBA)
Chapter 2 and consider the questions therein.


UTF-8 at the back end is probably a good idea if you want web/java based apps too.

Good luck!