我在 oracle 10g 数据库中有以下“翻译”表:
ID VARCHAR2(100 BYTE)
LANGUAGE CHAR(2 BYTE)
COUNTRY CHAR(2 BYTE)
TRANSLATION NVARCHAR2(2000 CHAR)
TRACK_TIMESTAMP DATE
TRACK_USER VARCHAR2(2000 BYTE)
当我尝试这样做时:
update translation set translation = 'œ' where id = 'MY_ID' And language = 'fr';
然后我运行这个:
select * from translation where id = 'MY_ID' and language = 'fr';
并且翻译栏显示:S
而不是,œ
我不知道为什么。
由于遗留问题,我无法将整个数据库转换为使用 UTF-8,还有其他选择吗?
目前国家字符集是 AL16UTF16。普通字符集是 WE8ISO8859P1。
我目前正在使用 java 1.6
上面是一个简化的例子。这是查询在我的实际应用程序中的样子:
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
这里的问题是添加œufs
它而不是添加¿ufs