Неправильные символы в базе данных при импорте с импортером текста - PullRequest
0 голосов
/ 11 февраля 2020

Я использую Oracle База данных 12 c Enterprise Edition Release 12.2.0.1.0 - 64-битное производство "Я создаю таблицу в базе данных для анализа данных в ней. Мой запрос DDL для создания таблицы:

CREATE TABLE RS_DOCUMENT_SEGMENT (
   subject_id NUMBER,
   id NUMBER,
   Type NUMBER(10),
   series NVARCHAR2(20),
   numberID NVARCHAR2(20),
   IssueDate VARCHAR2(100),
   IssueAuthority NVARCHAR2(1000)
)

Перед импортом данных в мою таблицу с помощью «Импортера текста» у меня есть столбец IssueAuthoriity с этими данными: enter image description here

Но поэтому у меня есть правильная информация с правильно отраженными символами в этом столбце .

Запрос SELECT * FROM nls_database_parameters; показывает мне эту информацию: enter image description here

Я думаю, что это может быть из-за типа значения или длины: NVARCHAR2 (1000 ) но пока я не проверил.

Может быть кто-то такой искушал?

Ответы [ 2 ]

0 голосов
/ 12 февраля 2020

Я решил проблему. Проблема была в кодировке при импорте данных. Я изменил кодировку на UTF-8, и данные были успешно импортированы и обычно с кодировкой.

enter image description here

0 голосов
/ 11 февраля 2020

эта проблема вызвана вашим nls_characterset CL8ISO8859p5.

Этот nls_characterset определяет строковый вывод базы данных oracle.

Он должен использоваться для "ISO 8859-4 Север и Север -East European ".

Я предлагаю изменить nls_characterset на VALUE AL32UTF8

Чтобы изменить nls_characterset, вы можете выполнить команду изменения базы данных, но будьте осторожны, это может привести к повреждению ваших данных:

alter database character set AL32UTF8;

Затем необходимо выполнить отскок базы данных, чтобы изменения вступили в силу.
Рекомендуется также создать полную резервную копию перед изменением nls_characterset.

...