设置 Unix,Linux环境下的NLS_LANG

Posted 长东

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设置 Unix,Linux环境下的NLS_LANG相关的知识,希望对你有一定的参考价值。

  1.   
  2.   
  3.   
  4. 设置 NLS_LANG 变量   
  5.   
  6.    
  7. 1) 正确配置 LC_ALL 参数   
  8. 2) 配置 telnet/ssh/SecureCRT 客户端的字符集  
  9.   
  10.   
  11. linux中可以用locale命令来查看 NLS_LANG设置,如下例所示  
  12.   
  13. [[email protected] ~]# locale  
  14. LANG=en_US.UTF-8  
  15. LC_CTYPE="en_US.UTF-8"  
  16. LC_NUMERIC="en_US.UTF-8"  
  17. LC_TIME="en_US.UTF-8"  
  18. LC_COLLATE="en_US.UTF-8"  
  19. LC_MONETARY="en_US.UTF-8"  
  20. LC_MESSAGES="en_US.UTF-8"  
  21. LC_PAPER="en_US.UTF-8"  
  22. LC_NAME="en_US.UTF-8"  
  23. LC_ADDRESS="en_US.UTF-8"  
  24. LC_TELEPHONE="en_US.UTF-8"  
  25. LC_MEASUREMENT="en_US.UTF-8"  
  26. LC_IDENTIFICATION="en_US.UTF-8"  
  27. LC_ALL=  
  28.   
  29.   
  30. 大多数unix版本都是以下默认设置“C”,  
  31.   
  32. [[email protected] ~]$ locale  
  33.   
  34. LANG=  
  35. LC_CTYPE="C"  
  36. LC_COLLATE="C"  
  37. LC_MONETARY="C"  
  38. LC_NUMERIC="C"  
  39. LC_TIME="C"  
  40. LC_MESSAGES="C"  
  41. LC_ALL=  
  42.   
  43. “C” 代表着 NLS_LANG为 US7ASCII,这就意味着你的终端只能显示a-z, A-Z and 0-9这些字符  
  44.   
  45.   
  46.  Unix环境可以通过export LC_ALL 指定一个值来设置语言环境变量  
  47.    
  48. [[email protected] ~]$ export LC_ALL=en_US.UTF-8  
  49.   
  50. [[email protected] ~]$ locale  
  51. LANG=en_US.UTF-8  
  52. LC_CTYPE="en_US.UTF-8"  
  53. LC_NUMERIC="en_US.UTF-8"  
  54. LC_TIME="en_US.UTF-8"  
  55. LC_COLLATE="en_US.UTF-8"  
  56. LC_MONETARY="en_US.UTF-8"  
  57. LC_MESSAGES="en_US.UTF-8"  
  58. LC_PAPER="en_US.UTF-8"  
  59. LC_NAME="en_US.UTF-8"  
  60. LC_ADDRESS="en_US.UTF-8"  
  61. LC_TELEPHONE="en_US.UTF-8"  
  62. LC_MEASUREMENT="en_US.UTF-8"  
  63. LC_IDENTIFICATION="en_US.UTF-8"  
  64. LC_ALL=  
  65.   
  66. [[email protected] ~]$ export LC_ALL=zh_CN.gb2312  
  67.   
  68. [[email protected] ~]$ locale  
  69. LANG=en_US.UTF-8  
  70. LC_CTYPE="zh_CN.gb2312"  
  71. LC_NUMERIC="zh_CN.gb2312"  
  72. LC_TIME="zh_CN.gb2312"  
  73. LC_COLLATE="zh_CN.gb2312"  
  74. LC_MONETARY="zh_CN.gb2312"  
  75. LC_MESSAGES="zh_CN.gb2312"  
  76. LC_PAPER="zh_CN.gb2312"  
  77. LC_NAME="zh_CN.gb2312"  
  78. LC_ADDRESS="zh_CN.gb2312"  
  79. LC_TELEPHONE="zh_CN.gb2312"  
  80. LC_MEASUREMENT="zh_CN.gb2312"  
  81. LC_IDENTIFICATION="zh_CN.gb2312"  
  82. LC_ALL=zh_CN.gb2312  
  83.   
  84.   
  85. NLS_LANG 由三部分组成 : NLS_LANG=<NLS_LANGUAGE>_<NLS_TERRITORY>.<clients characterset>  
  86.   
  87.                       :NLS_LANG=语言_地域_客户端字符集  
  88.   
  89.   
  90.  LANG值为"en_US.UTF-8" 时,意味着NLS_LANG用以下格式设置 NLS_LANG=AMERICAN_AMERICA.AL32UTF8   
  91.    
  92. 如果LANG值为 "fr_FR.UTF-8" 那在 NLS_LANG设置的值就是 FRENCH_FRANCE.AL32UTF8.  
  93.   
  94.   
  95. 也可以通过export设置LANG  
  96.   
  97. [[email protected] ~]$ export NLS_LANG=AMERICAN_AMERICA.AL32UTF8  
  98.   
  99. [[email protected] ~]$ locale | grep LANG  
  100. LANG=en_US.UTF-8 
  1. 设置 NLS_LANG 变量   
  2.   
  3.    
  4. 1) 正确配置 LC_ALL 参数   
  5. 2) 配置 telnet/ssh/SecureCRT 客户端的字符集  
  6.   
  7.   
  8. linux中可以用locale命令来查看 NLS_LANG设置,如下例所示  
  9.   
  10. [[email protected] ~]# locale  
  11. LANG=en_US.UTF-8  
  12. LC_CTYPE="en_US.UTF-8"  
  13. LC_NUMERIC="en_US.UTF-8"  
  14. LC_TIME="en_US.UTF-8"  
  15. LC_COLLATE="en_US.UTF-8"  
  16. LC_MONETARY="en_US.UTF-8"  
  17. LC_MESSAGES="en_US.UTF-8"  
  18. LC_PAPER="en_US.UTF-8"  
  19. LC_NAME="en_US.UTF-8"  
  20. LC_ADDRESS="en_US.UTF-8"  
  21. LC_TELEPHONE="en_US.UTF-8"  
  22. LC_MEASUREMENT="en_US.UTF-8"  
  23. LC_IDENTIFICATION="en_US.UTF-8"  
  24. LC_ALL=  

以上是关于设置 Unix,Linux环境下的NLS_LANG的主要内容,如果未能解决你的问题,请参考以下文章

怎么设置linux/unix下的jvm的file.encoding-CSDN论坛

环境变量NLS_LANG

Oracle环境变量NLS_LANG

解决ORA-12705无法访问NLS问题

多线程编程之Linux环境下的多线程

更改 Oracle 客户端注册表中 NLS_LANG 设置的影响