解决使用Sql/plus插入数据出现的中文乱码问题

现象:使用sqlplus执行脚本,在对中文进行数据库插入的时候,出现【??????】。

原因:sqlplus乱码与操作系统用户中的NLS_LANG这个环境变量有关系,如果这个与数据库字符集不一致的话就会产生乱码。

解决办法:

  参考文章:

           http://blog.chinaunix.net/uid-21374062-id-2983324.html

           http://blog.itpub.net/438414/viewspace-752956/

           http://blog.csdn.net/yueyeyi1/article/details/9083877

           http://blog.csdn.net/dr_lf/article/details/38083459

  1、如何查看数据库字符集:

                通过nls_database_parameters查询

                col parameter for a30

                col value for a25

                select * from nls_database_parameters;

 2、NLS_CHARACTERSET对应的【ZHS16GBK】即为数据库使用的字符格式,其对应的NLS_LANG为【SIMPLIFIED CHINESE_CHINA.ZHS16GBK】。

 3、打开注册表进行修改

                 win+R快捷键>>--regedit>>HKEY_LOCL_MACHINE>>SOFTWARE>>ORALCE>>HOMEXX

                 将NLS_LANG的值设置为SIMPLIFIED CHINESE_CHINA.ZHS16GBK


 4、如果新建数据库时字符编码不是 【ZHS16GBK】等,导致出现了乱码,需要重新设置编码集。

具体参照另外一篇博客: 

http://blog.csdn.net/sun_p0/article/details/50478177

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值