Почему база данных Oracle меняет нелатинскую кодировку символов?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Почему база данных Oracle меняет нелатинскую кодировку символов?

Сообщение Anonymous »

Я использую базу данных Oracle с AR8MSWIN1256 и, к сожалению, не могу изменить кодировку на UTF8.
Затем я определил таблицу с типом столбца varchar2
и попытался выполнить операции sql из приложения Java.
На основе набора символов windows-1256 это можно сохранить такие символы, как ی, которые имеют код кодировки EC и их таблица упоминается в таблице кодировок Windows-1256. Но после сохранения, когда я получаю данные, они меняются на ي с кодом кодировки ED. Это происходит только для нескольких символов, а не для всех.
Я установил переменную среды NLS_LANG=AMERICAN_AMERICA.AL32UTF8 в клиентской системе. Единственное решение, которое я нашел для решения проблемы, — это изменить тип столбца на nvarchar2, чтобы изменить кодировку столбца на Unicode, а установка параметров виртуальной машины упоминается в персидской кодировке символов в oracle. базу данных следующим образом:

Код: Выделить всё

-Doracle.jdbc.defaultNChar=true
-Doracle.jdbc.convertNcharLiterals=true
Но я не понимаю, почему я не могу правильно сохранить этот символ в windows-1256. Кроме того, я не понимаю, почему клиентское приложение должно устанавливать значение defaultNChar=true.

Подробнее здесь: https://stackoverflow.com/questions/791 ... r-encoding
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»