导入Oracle数据库中的汉字都是问号

前端之家收集整理的这篇文章主要介绍了导入Oracle数据库中的汉字都是问号前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

iamlaosong文

导入服务器Oracle数据库中汉字都是问号“?”,查数据库的字符集没问题,那么就是客户端的问题。

查Oracle用户的环境变量,发现没有设置NLS_LANG,在.bash_profile文件增加

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

重新导入数据,汉字显示正常。

另外,环境变量LANG用于Linux界面显示,和Oracle数据库无关。附一篇关于LANG的小网文备查。

附:设置linux环境变量LANG

一般来说要设置 Linux 系统的环境变量只需要在 /etc/profile (全局) 或者 ~/.bashrc (单个用户) 即可。但是对于 LANG 变量来说,有时候你即使在所有这些初始化脚本里面 export 过了,LANG 的值还是纹丝不动。实际上,你需要去修改 /etc/sysconfig/i18n 文件里面的内容

vi /etc/sysconfig/i18n

LANG="zh_CN.UTF-8"

LANG="en_US"

SUPPORTED="zh_CN.UTF-8:zh_CN:zh:zh_TW.UTF-8:zh_TW:zh:en_US.UTF-8:en_US:en"

SYSFONT="latarcyrheb-sun16"

用ssh登录LINUX时,ssh终端有时会出现乱码,即使你设置LANG=en_US.UTF-8也一样.我试过SecureCRT,OpenSSH,SSH Secure Shell的客户端,都出现过这问题.有时更改一下客户端的设置就好了,但是有时更改客户端的设置后只能运行一次某个命令,之后又变成乱码了.

一个偶然的机会,在网上看到有人说将LANG变量的值改成"C"就行了.不过还真邪了,就来个LANG=C,什么问题都解决了,也不用设置客户端了,真是莫名其妙!不过到现在还不知道那个"C"是什么意思,它咋就那么厉害(其实随便设置若干个个字母,或者直接置空:export LANG="",问题都能解决,只要不是zh_CN.UTF-8)

原文链接:https://www.f2er.com/oracle/212157.html

猜你在找的Oracle相关文章