现象:使用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
具体参照另外一篇博客: