对于我的生活,我无法弄清楚Oracle的加密语法.这是Oracle 10g
我的会话的NLS_LANGUAGE目前默认为AMERICAN.我需要能够显示UTF8字符.
以下是我的一些尝试,都是错误的:
ALTER SESSION SET NLS_LANGUAGE='UTF8'
ALTER SESSION SET NLS_LANGUAGE='AMERICAN_AMERICA.UTF8'
Run Code Online (Sandbox Code Playgroud)
什么是秘密命令?
APC*_*APC 13
字符集是语言环境的一部分,由值决定NLS_LANG
.正如文档所示,这是一个操作系统变量:
NLS_LANG
在UNIX平台上设置为环境变量.NLS_LANG
在Windows平台上的注册表中设置.
现在我们可以ALTER SESSION
用来更改几个语言环境元素的值,NLS_LANGUAGE和NLS_TERRITORY.但不是,唉,字符集.这种差异的原因是 - 我认为 - 语言和区域只会影响Oracle如何解释存储的数据,例如,在显示大数字时是显示逗号还是显示句点.字符集的轮廓与客户端应用程序如何呈现显示的数据有关.客户端应用程序在启动时获取此信息,并且无法从内部更改.
好的,根据http://www.oracle.com/technology/tech/globalization/htdocs/nls_lang%20faq.htm:
ALTER SESSION,NLS_LANGUAGE和NLS_TERRITORY都无法更改NLS_LANG.但是,NLS_LANGUAGE和/或NLS_TERRITORY不能在客户端的环境或注册表中设置为"独立"参数.
显然,"正确"的解决方案是,在完全登录Oracle之前,设置以下环境变量:
export NLS_LANG=AMERICAN_AMERICA.UTF8
Run Code Online (Sandbox Code Playgroud)
Oracle因可用性而获得了巨大的成功.
归档时间: |
|
查看次数: |
95623 次 |
最近记录: |