我NLS_LANG在注册表中设置了我的本地语言。CMD 无法显示我当地语言的字符,所以我看到了 jibrish。我说的是来自客户端的提示而不是实际数据,例如错误消息。
SQL> conn scott/tiger
???ß°.
Run Code Online (Sandbox Code Playgroud)
我需要将客户端的设置保留在本地 NLS 中,因为其他程序依赖于它。
我已经尝试添加$set NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252glogin,但显然它不起作用,因为脚本仅在 sql*Plus 已经启动后执行。
我的问题是,有没有什么方法NLS_LANG可以AMERICAN_AMERICA.WE8MSWIN1252 只为 SQL*Plus设置to ?
NLS_LANG不能为 SQL*Plus 中的会话更改。您只能设置语言、地域、数字字符等...例如:
ALTER SESSION SET NLS_LANGUAGE = 'AMERICAN';
ALTER SESSION SET NLS_NUMERIC_CHARACTERS = '.,';
Run Code Online (Sandbox Code Playgroud)
NLS_LANG被设置为环境变量,所以在运行SqlPlus之前使用:
在 Windows 上:
set NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252
Run Code Online (Sandbox Code Playgroud)
在 Unix(Solaris 和 Linux、centos 等)上
export NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
58585 次 |
| 最近记录: |