I have the following "translation" table in an oracle 10g database:
ID VARCHAR2(100 BYTE)
LANGUAGE CHAR(2 BYTE)
COUNTRY CHAR(2 BYTE)
TRANSLATION NVARCHAR2(2000 CHAR)
TRACK_TIMESTAMP DATE
TRACK_USER VARCHAR2(2000 BYTE)
When I try to do this:
update translation set translation = 'œ' where id = 'MY_ID' And language = 'fr';
Then I run this:
select * from translation where id = 'MY_ID' and language = 'fr';
and the translation column shows: S
instead of œ
and I have no idea why.
Due to legacy issues I cannot convert the whole database to use UTF-8, are there any other options?
Currently the national character set is AL16UTF16. The ordinary character set is WE8ISO8859P1.
I am currently using java 1.6
The above is a simplified example. Here is what the query looks like in my actual application:
UPDATE TRANSLATION SET TRANSLATION=? WHERE TRANSLATION.COUNTRY=? and TRANSLATION.ID=? and TRANSLATION.LANGUAGE=? 1=1,800 - 2,500 œufs par heure 2=CA 3=3_XT_FE_ECS18 4=fr
The problem here is instead of adding œufs
it adds ¿ufs