我已经使用 AL32UTF8 设置了一个 Oracle 数据库。使用 SQLPlus 和 SQLDeveloper 等工具时,我可以将 DBCS 字符(中文、高 ascii 等)放入数据库中。
但是,当我使用 Oracle Instant Client 的应用程序尝试将数据放入数据库时,DBCS 字符会变成 ?分数。我能够解决这个问题并通过执行以下操作使事情正常进行:在运行我的应用程序的机器(CentOS)上导出 NLS_LANG='.AL32UTF8'。数据库位于单独的机器上。通过上述修复,我需要在所有客户端上设置 NLS_LANG。
我想要做的(如果可能的话)是配置数据库,使其假定客户端默认使用 NLS_LANG = '.AL32UTF8' ,因此不必在所有客户端上设置 NLS_LANG。这可能吗?如果是这样,怎么做?
最佳答案
这个设置只属于客户端,如果客户端假设默认是一些拉丁语,你不能在其他地方覆盖它。
另一方面,你总是可以做 ALTER SESSION
设置所需NLS_LANG
您的应用程序中的选项。
关于c# - 将 Oracle DB 配置为默认采用双字节字符集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19910689/