N'κόσμε'
svarer (mere eller mindre) til CAST('κόσμε' AS NVARCHAR2(..))
Med N'κόσμε'
du siger "behandl strengen som NVARCHAR". Hvis du bare skriver 'κόσμε'
derefter behandles strengen som VARCHAR
. Men dit NLS_CHARACTERSET
er WE8ISO8859P15
som ikke understøtter græske tegn. Således får du ?
som pladsholder.
Du har ikke fortalt os dit NLS_NCHARACTERSET
indstilling, understøtter denne højst sandsynligt Unicode.
BTW, du behøver ikke at select ... from dual
, skriv blot like
l_ec := ASCIISTR('κόσμε');
i PL/SQL.
Hvad er dit lokale NLS_LANG
værdi, altså hos din kundeside? Mest sandsynligt matcher det ikke tegnkodningen af din SQL*Plus. Se dette svar for flere detaljer:OdbcConnection returnerer kinesiske tegn som "?"