oracle 11g SQL PLUS 某些字符显示乱码,怎么解决

oracle 11g SQL PLUS 某些字符显示乱码,怎么解决,第1张

你可以用Toad

for

Oracle

961这个工具去查看下表里面的数据是否就是乱码,如果是乱码在手动插入一条数据看是否是乱码,如果是这样的话就是本身数据库字符集编码不支持中文,

你可以sqlplus

后,select

userenv('language')

from

dual

执行这条sql语句,查看字符集编码是不是ZHS16GBK

,该编码支持中文,若不是该编码就要调整oracle字符集编码了

这个是语言字符集的问题,你数据库安装的时候使用了什么字符集? 如果不是下面的ZHS16GBK的话需要进行相应的修改就可以正常显示了,修改注册表Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\KEY_OraDb10g_home1 将键值改为如下内容

NLS_LANGNLS_LANG=AMERICAN_AMERICAZHS16GBK (英文环境)

或者

NLS_LANG=SIMPLIFIED CHINESE_CHINAZHS16GBK (简体中文环境)

如果你在windows下安装的是客户端的话,那就在

Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\&1\NLS_LANG

&1=KEY_OraClient10g_home1

OR

&1=KEY_OraDb10g_home1 (第二种情况像我本机一样是服务器端和客户端共存,两个路径都有)另外我的系统是win7 64位专业版 如果按我提供的路径找不到NLS_LANG的键值的话,我悄悄告诉你用Ctrl+F和F3的组合搜索功能,搜索NLS_LANG也能找得到 这里ZHS16GBK可能要换成你的GB18030 自己尝试一下吧 。祝你好运。

cmd命令窗口字符编码不一致或不兼容。

1、查一下服务器端的字符集。

2、把客户端的字符集设置为一致的。

3、你要用sqlplus的话,先通过设置环境变量来定义客户端的字符集。

检查下你导出时候的环境变量,导入时的环境变量

比如

导出时NLS_LANG=AMERICAN_AMERICAZHS16GBK

导入时NLS_LANG没有设置,或者设置为其他字符集,则导入的库内汉字就有可能变成乱码。

解决方法,连接数据库的时候设置正确字符集即可。

oracle数据库服务器系统使用的是UTF-8编码或者是AL32UTF8编码

在Web应用中已经将请求编码设置为UTF-8编码

二进制数据的取得

Blob blogObj = rstgetBlob("CONTENT");

if(blogObj!=null){

byte[] content = blogObjgetBytes(1, (int) blogObjlength());

try {

newssetContent(new String(content));

} catch (UnsupportedEncodingException e) {

eprintStackTrace();

}

}

乱码问题的解决方法:

newssetContent(new String(content,“UTF-8”));

之后就不会出现乱码问题。

以上就是关于oracle 11g SQL PLUS 某些字符显示乱码,怎么解决全部的内容,包括:oracle 11g SQL PLUS 某些字符显示乱码,怎么解决、unix下oracle数据库中文乱码、cmd命令连接oracle数据库连接到三个字为什么是乱码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10149092.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存