一、遇到的问题
问题一:某xxxx.sql文件,里面都是insert语句,并且文本编辑器打开文件查看,里面待插入的中文数据显示正常,但是通过命令行,使用“@xxxx.sql”导入数据库后,发现数据库中的中文数据都是“?????”这种形式;
问题二:在确保导入数据库中的中文数据正常的前提下,用plsql查看数据库中的数据,plsql中文显示为“??????”。
二、解决方案
针对问题一:修改注册表:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb10g_home1\NLS_LANG,其值修改成:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
针对问题二:修改系统环境变量NLS_LANG的值(如果没有就新建一个):SIMPLIFIED CHINESE_CHINA.ZHS16GBK
注意:修改环境变量,不要再用户变量里修改,应该在系统变量里修改(没有就新建)。如果错了,会导致数据库无法进入。添加位置如图: