当前位置:首页 » 编程语言 » plsql字符集

plsql字符集

发布时间: 2023-12-03 12:42:40

sqlplus运行出现中文乱码怎么解决

在用PLSQL登录oracle数据库时可能遇到报错如下:

数据库字符集(ZHS16GBK)和客户端字符集(2%)是不同的,字符集转化可能会造成不可预期的后果 不管错误信息中你的数据库字符集是什么,都是由于数据库服务端和你的客户端字符集不统一造成的。

NLS_LANG参数
影响Oracle数据库字符集最重要的参数是NLS_LANG参数。

它的格式如下: NLS_LANG =
language_territory.charset

它有三个组成部分(语言、地域和字符集),每个成分控制了NLS子集的特性。

其中:

1. Language: 指定服务器消息的语言, 影响提示信息是中文还是英文
2. Territory: 指定服务器的日期和数字格式,
3. Charset: 指定字符集。
我电脑是
:AMERICAN_AMERICA.ZHS16GBK

可以通过以下方法解决:

1. 查询数据库服务端的字符集
select * from nls_database_parameters 可以分别查出字符集各组成部分的值

2、服务器端结果: AMERICAN_AMERICA.ZHS16GBK

或者用 select userenv(‘language’) from al 可以整体查出。

也可以用 select * from nls_instance_parameters 查看你客户端的字符集

3、修改客户端的字符集
客户端的字符集要求与服务器一致,才能正确显示数据库的非Ascii字符。

如果不一致,就得修改客户端的字符集,修改为同server端相同的字符集。

在这里我直接新增环境变量NLS_LANG,设置为AMERICAN_AMERICA.ZHS16GBK

---查询sql,中文已经不乱码了

② 如何修改Oracle数据库字符集

1、首先我们打开电脑桌面,同时按windows徽标键和R键,在弹出来的窗口里输入,regedit,点击OK按钮。

③ 如何设置PLSQL Developer 字符集

我安装的是PLSQL Developer(版本7.1.4)绿色版,执行SQL发现弹出的错误提示对话框都是??表示,显示不出正确的提示信息。后来才明白是跟服务器的字符集不匹配的问题。方法如下:
1、查询oracle server端的字符集。打开SQL Window输入下面SQL查询服务端的字符集。
select userenv('language') from al;
2、我的电脑中环境变量界面,在系统变量中新加:
变量名:NLS_LANG
变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
其中的变量值跟服务器查询到得一致即可。
好了可以正常工作了,每天进步一点点。。

热点内容
androidsdk接入 发布:2025-01-24 20:54:14 浏览:193
我的世界服务器如何使用路由器映射 发布:2025-01-24 20:49:30 浏览:739
脚本操作浏览器 发布:2025-01-24 20:41:40 浏览:296
fast自动获取ip地址服务器无响应 发布:2025-01-24 20:19:13 浏览:710
http加密数据 发布:2025-01-24 20:15:00 浏览:100
中国存储行业排名 发布:2025-01-24 20:02:21 浏览:422
arm编译链 发布:2025-01-24 19:42:12 浏览:700
linuxc的函数返回值 发布:2025-01-24 19:35:23 浏览:665
威纶编程软件反编译 发布:2025-01-24 19:30:26 浏览:49
网络存储单元 发布:2025-01-24 19:28:04 浏览:168