SQL plus版本:
[oracle@pg-xc2 ~]$ sqlplus -v
SQL*Plus: Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
操作系统:CentOS Linux 7 (Core)
数据库:Oracle 19c Version 19.3.0.0.0
同样的SQL脚本在windos CMD sqlplus 执行没问题。下面直接看图:
问题在“大”字,可能还有不少中文组合会出现这个情况。神奇不神奇?大家遇到吗?
接着后面插入数据和更新数据发现问题:
后面想了想这个问题和之前查询的引号里中文出错是同样的原因。
查看操作系统的默认字符集是:en_US.utf8
经过修改配置发现是因为之前查询中文结果是乱码,在使用SQL plus登录数据库之前设置了字符集
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
取消这个字符集设置之后在登录数据执行插入和更新操作,正常了。
我估计是某些中文字符的组合解析之后 ,系统编码解析把后面的双引号判断为 列名的一部分去了。还是字符集的问题,请问这个问题怎么解决?既让查询结果中文正常显示,又不会出现中文影响单引号和双引号的问题?