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

热点内容
编程让 发布:2025-07-10 09:48:13 浏览:358
数据库逻辑存储结构 发布:2025-07-10 09:26:56 浏览:920
密码编译找规律 发布:2025-07-10 09:18:10 浏览:512
电影视频缓存后 发布:2025-07-10 09:16:48 浏览:894
服务器搭建需要哪些东西 发布:2025-07-10 09:15:23 浏览:802
无限密码怎么改 发布:2025-07-10 09:14:32 浏览:106
coc按键精灵脚本 发布:2025-07-10 09:12:40 浏览:313
excel表格ftp函数 发布:2025-07-10 09:05:50 浏览:278
u2game的解压密码 发布:2025-07-10 09:05:14 浏览:598
c语言编译器ide苹果下载 发布:2025-07-10 09:05:13 浏览:295