背景:
项目上线时往数据库批量插入370条含有中文的数据,结果40条左右插入错误,返回如下错误信息
ORA-01756: quoted string not properly terminated
中文翻译:引用字符串不正确的终止
原因
上线时是在xshell中用sqlplus往数据库中添加数据,而xshell客户端的编码是UTF-8,数据库的编码是GBK2312,插入中文时会经行转码,导致某些字符串可能转成中文符号,导致sql出现错误。
总的来说,就是编码不同,进行转码,出现了中文符号。
解决方法
将xshell的编码改为和数据库一致的编码,再执行sql