0
私は£
の代わりに??
のINSERT
のOracle 12cデータベースを持っています。インサートは、11.2インスタント・クライアントSQL * Plusセッションからのものです。どちらのボックスもLinuxを実行しています。オラクルは£を? on INSERT
DBホスト自体のSQL * Plusでも同じことが起こります。
DBホストは、次の設定があります。
$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
EDIT:修正。 £
のみが置き換えられますが、??
テーブルで実際に置き換えられるのですか、それともクエリすると表示されますか?実際に何が格納されているかを見るには 'dump()'関数を調べてください。挿入して照会するセッションの 'NLS_LANG'とは何ですか? –
また、ソースが実際にあなたが思うキャラクターであることを確認してください。[類似のものではありません](http://www.fileformat.info/info/unicode/category/Sc/list.htm)。特に(明らかに)ドル記号;それが正常であればそれは奇妙に見えません。 –