当前位置:首页 » 编程语言 » 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
其中的变量值跟服务器查询到得一致即可。
好了可以正常工作了,每天进步一点点。。

热点内容
samba在服务器搭建 发布:2025-03-06 16:53:35 浏览:168
图片管理数据库 发布:2025-03-06 16:51:05 浏览:978
用旧电脑搭建家用服务器 发布:2025-03-06 16:48:54 浏览:250
台式电脑如何与安卓手机连接蓝牙 发布:2025-03-06 16:48:47 浏览:815
奇博源码 发布:2025-03-06 16:47:43 浏览:985
原油存储罐 发布:2025-03-06 16:12:21 浏览:55
excel写入sql 发布:2025-03-06 15:54:19 浏览:948
脚本自动加好友 发布:2025-03-06 15:54:19 浏览:408
仿朋友圈源码 发布:2025-03-06 15:53:34 浏览:961
数据库逻辑真 发布:2025-03-06 15:51:13 浏览:132