oracle导入数据库报错,全是问号,求解

oracle导入数据库报错,全是问号,求解,第1张

你这个应该不是程序的问题,而是客户端字符编码问题

首先,

你要保证你使用的客户端(比如secureCRT编码)、OS的LANG编码。要一致

其次,最好将客户端的NLS_LANG编码设置与oracle server一致。

你可以直接export LANG=c

然后看看显示还是乱码吗,把secureCRT等客户端的编码设置为UTF-8

Oracle数据库字符集最有用的参数是NLS_LANG参数,格式如下: NLS_LANG = language_territory.charsetanguage:服务器消息的语言, 是中文还是英文Territory: 服务器的日期和数字格式,Charset: 指定字符集。

登录以sysdba登录,查看视图select * from v$nls_parameters,可以知道具体的字符集参数,正常的应该是1NLS_LANGUAGE=SIMPLIFIED CHINESE2NLS_TERRITORY=CHINA3NLS_CHARACTERSET=ZHS16GBK然后有问题就去修改参数文件里面的参数,最好做个备份哦!因为改字符集有风险。客户端设置(linux) $NLS_LANG=“simplified chinese”_china.zhs16gbk $export NLS_LANG.数据库服务器字符集select * from nls_database_parameters是表示数据库的字符集,或者v$nls_parameters 客户端字符集环境select * from nls_instance_parameters或者v$parameter,表示客户端的字符集的设置,可能是参数文件,环境变量或者是注册表 会话字符集环境select * from nls_session_parametersv$nls_parameters,表示会话自己的设置,可能是会话的环境变量或者是alter session完成,如果会话没有特殊的设置,将与nls_instance_parameters一致。以上都没问题 就会OK了,(仅供参考,若有雷同纯属巧合)

你好,大多数都是字符集不一致导致的乱码问题。对于出现乱码或问号等不正常显示问题,根据数据库字符集,正确配置参数NLS_LANG,一般可以解决,如果仍出现乱码,则可能和所使用的工具的字体编码设置有关。

那么解决出现的乱码时应该依次检查:查看数据库和客户端字符集,主要设置NLS_LANG;查看系统语言设置LANG参数;查看所用终端、工具字体编码设置。

针对所出现的问题,查看plsql的字体编码为GB2312,CRT的字体编码是UTF-8,修改为GB2312,centos终端修改-终端设置-字符编码修改,乱码问题解决。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存