日期:2014-05-17  浏览次数:21165 次

百分求解一个小问题
同一个oracle 10g 中要创建两个数据库,但这两个数据库的字符集是不一样,要怎么设置?
  创建数据库是所选择的字符集是否会改变注册表中的这一项:
 HKEY_LOCAL_MACHINE -> SOFTWARE -> ORACLE -> KEY_OraDb10g_home1 -> NLS_LANG
注册表中的NLS_LANG 项与创建数据库是所选择的字符集 有何关系 ??
 求高人指点。。

------解决方案--------------------
创建数据库的时候可以指定字符集,只要选择不同,创建的数据库字符集就不一样。

创建字符集选择的字符集是服务器字符集,nls_lang对应的是客户端字符集,一般来说,服务器字符集更重要,他决定了录入数据库的数据的存储方式。
------解决方案--------------------
The NLS_LANG character set should reflect the setting of the operating system character set of the client. For example, if the database character set is AL32UTF8 and the client is running on a Windows operating system, then you should not set AL32UTF8 as the client character set in the NLS_LANG parameter because there are no UTF-8 WIN32 clients. Instead, the NLS_LANG setting should reflect the code page of the client. For example, on an English Windows client, the code page is 1252. An appropriate setting for NLS_LANG is AMERICAN_AMERICA.WE8MSWIN1252.

数据库的字符集在创建数据库时确定,对应数据库的 NLS_CHARACTERSET参数。