oracle sqlplus执行sql语句字符集问题 |
您所在的位置:网站首页 › sqlplus执行sql文件中文乱码 › oracle sqlplus执行sql语句字符集问题 |
因为业务需要,现将一些包含中文的insert语句导入到oracle数据库中,由于数据量比较大,通过pl/sql*plus导入时非常慢(实测1.5M的文件大概执行20分钟),现在oracle服务器sqlplus下执行,报错如下: ERROR: ORA-01756: quoted string not properly terminated查询度娘说是字符集问题,随后查看数据库字符集 SQL> select userenv('language') from dual; USERENV('LANGUAGE') ---------------------------------------------------- AMERICAN_AMERICA.ZHS16GBKoracle用户当前字符集 echo $NLS_LANG AMERICAN_AMERICA.ZHS16GBK是一致的,说明是导入的sql文件有问题,解决方法如下: 先将sql文件通过notepad++转换为UTF-8-BOM编码模式,然后再转成gb2312格式保存 然后通过UltraEdit打开刚刚保存的gb2312格式的文件 修改为gbk格式,然后再保存,重新导入,不报错了,而且速度非常快,1.5M文件5秒钟执行完成。 总结: utf-8文件不能直接转成gbk格式,需要将UTF-8格式文件改为gb2312格式,然后再转成gbk格式,否则中文乱码。
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |