N'κόσμε' は(多かれ少なかれ)CAST('κόσμε' AS NVARCHAR2(..))と同等です
N'κόσμε'を使用 「文字列をNVARCHARとして扱う」と言います。 'κόσμε'だけを書くと その場合、文字列はVARCHARとして扱われます 。ただし、NLS_CHARACTERSET WE8ISO8859P15です これはギリシャ文字をサポートしていません。したがって、?を取得します プレースホルダーとして。
NLS_NCHARACTERSETを教えてくれませんでした 設定、おそらくこれはUnicodeをサポートします。
ところで、select ... from dual 、単に次のように書く
l_ec := ASCIISTR('κόσμε');
PL/SQLで。
あなたのローカルは何ですか NLS_LANG 価値、つまりクライアント側で?ほとんどの場合、SQL*Plusの文字エンコードと一致しません。詳細については、次の回答を参照してください:OdbcConnectionが漢字を返す「?」として