0
我有一个Oracle 12c数据库,它将替换£
与??
INSERT
。该插入来自11.2即时客户端SQL * Plus会话。两个盒子都在运行Linux。Oracle用英镑代替英镑INSERT
从DB主机本身的SQL * Plus也会发生同样的情况。
数据库主机具有以下设置:
$LANG
:en_GB.UTF8NLS_CHARACTERSET
:AL32UTF8
客户有:
$LANG
:en_GB.UTF -8
$NLS_LANG
未设置为DB或客户端主机。
select dump('£', 1017) from dual;
DUMP('??',1017)
-----------------------------------------------------
Typ=96 Len=6 CharacterSet=AL32UTF8: ef,bf,bd,ef,bf,bd
编辑:修正。只有£
正在被替换,但正在替换为??
它实际上是在表中被替换,还是在查询时出现?查看'dump()'函数来查看实际存储的内容。插入和查询会话的'NLS_LANG'是什么? –
另外检查源代码是否是你认为的字符,[不是类似的](http://www.fileformat.info/info/unicode/category/Sc/list.htm)。特别是(显然)美元符号;如果这是正常的,那么看不到这会很奇怪。 –