设置 Unix,Linux环境下的NLS_LANG
- 设置 NLS_LANG 变量
- 1) 正确配置 LC_ALL 参数
- 2) 配置 telnet/ssh/SecureCRT 客户端的字符集
- linux中可以用locale命令来查看 NLS_LANG设置,如下例所示
- [root@HXZG ~]# locale
- LANG=en_US.UTF-8
- LC_CTYPE="en_US.UTF-8"
- LC_NUMERIC="en_US.UTF-8"
- LC_TIME="en_US.UTF-8"
- LC_COLLATE="en_US.UTF-8"
- LC_MONETARY="en_US.UTF-8"
- LC_MESSAGES="en_US.UTF-8"
- LC_PAPER="en_US.UTF-8"
- LC_NAME="en_US.UTF-8"
- LC_ADDRESS="en_US.UTF-8"
- LC_TELEPHONE="en_US.UTF-8"
- LC_MEASUREMENT="en_US.UTF-8"
- LC_IDENTIFICATION="en_US.UTF-8"
- LC_ALL=
- 大多数unix版本都是以下默认设置“C”,
- [oracle@HXZG ~]$ locale
- LANG=
- LC_CTYPE="C"
- LC_COLLATE="C"
- LC_MONETARY="C"
- LC_NUMERIC="C"
- LC_TIME="C"
- LC_MESSAGES="C"
- LC_ALL=
- “C” 代表着 NLS_LANG为 US7ASCII,这就意味着你的终端只能显示a-z, A-Z and 0-9这些字符
- Unix环境可以通过export LC_ALL 指定一个值来设置语言环境变量
- [oracle@HXZG ~]$ export LC_ALL=en_US.UTF-8
- [oracle@HXZG ~]$ locale
- LANG=en_US.UTF-8
- LC_CTYPE="en_US.UTF-8"
- LC_NUMERIC="en_US.UTF-8"
- LC_TIME="en_US.UTF-8"
- LC_COLLATE="en_US.UTF-8"
- LC_MONETARY="en_US.UTF-8"
- LC_MESSAGES="en_US.UTF-8"
- LC_PAPER="en_US.UTF-8"
- LC_NAME="en_US.UTF-8"
- LC_ADDRESS="en_US.UTF-8"
- LC_TELEPHONE="en_US.UTF-8"
- LC_MEASUREMENT="en_US.UTF-8"
- LC_IDENTIFICATION="en_US.UTF-8"
- LC_ALL=
- [oracle@HXZG ~]$ export LC_ALL=zh_CN.gb2312
- [oracle@HXZG ~]$ locale
- LANG=en_US.UTF-8
- LC_CTYPE="zh_CN.gb2312"
- LC_NUMERIC="zh_CN.gb2312"
- LC_TIME="zh_CN.gb2312"
- LC_COLLATE="zh_CN.gb2312"
- LC_MONETARY="zh_CN.gb2312"
- LC_MESSAGES="zh_CN.gb2312"
- LC_PAPER="zh_CN.gb2312"
- LC_NAME="zh_CN.gb2312"
- LC_ADDRESS="zh_CN.gb2312"
- LC_TELEPHONE="zh_CN.gb2312"
- LC_MEASUREMENT="zh_CN.gb2312"
- LC_IDENTIFICATION="zh_CN.gb2312"
- LC_ALL=zh_CN.gb2312
- NLS_LANG 由三部分组成 : NLS_LANG=<NLS_LANGUAGE>_<NLS_TERRITORY>.<clients characterset>
- :NLS_LANG=语言_地域_客户端字符集
- LANG值为"en_US.UTF-8" 时,意味着NLS_LANG用以下格式设置 NLS_LANG=AMERICAN_AMERICA.AL32UTF8
- 如果LANG值为 "fr_FR.UTF-8" 那在 NLS_LANG设置的值就是 FRENCH_FRANCE.AL32UTF8.
- 也可以通过export设置LANG
- [oracle@HXZG ~]$ export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
- [oracle@HXZG ~]$ locale | grep LANG
- LANG=en_US.UTF-8
- 设置 NLS_LANG 变量
- 1) 正确配置 LC_ALL 参数
- 2) 配置 telnet/ssh/SecureCRT 客户端的字符集
- linux中可以用locale命令来查看 NLS_LANG设置,如下例所示
- [root@HXZG ~]# locale
- LANG=en_US.UTF-8
- LC_CTYPE="en_US.UTF-8"
- LC_NUMERIC="en_US.UTF-8"
- LC_TIME="en_US.UTF-8"
- LC_COLLATE="en_US.UTF-8"
- LC_MONETARY="en_US.UTF-8"
- LC_MESSAGES="en_US.UTF-8"
- LC_PAPER="en_US.UTF-8"
- LC_NAME="en_US.UTF-8"
- LC_ADDRESS="en_US.UTF-8"
- LC_TELEPHONE="en_US.UTF-8"
- LC_MEASUREMENT="en_US.UTF-8"
- LC_IDENTIFICATION="en_US.UTF-8"
- LC_ALL=