Oracle, utf-8, NVARCHAR2 и много путаницы

У меня есть следующая таблица "переводов" в базе данных 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

6
задан testing123 7 June 2011 в 15:52
поделиться