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)。特別是(顯然)美元符號;如果這是正常的,那麼看不到這會很奇怪。 –