Как правильно читать символ UTF-8 с внешней таблицей - PullRequest
0 голосов
/ 14 марта 2019

У меня есть файл CSV, закодированный в uft8.В поле записи есть текст

В тексте есть символы, закодированные двумя символами.например, в слове Österreich символ Ö кодируется как O и ¨, а не как Ö

Если я открою файл в редакторе, то я увижу правильное слово Österreich,

enter image description here

если я смотрю на файл, выбирая внешнюю таблицу, то вижу O¨sterreich.

при созданииво внешнюю таблицу я уже добавил параметр ACCESS CHARACTERSET AL32UTF8

ACCESS PARAMETERS (
 RECORDS DELIMITED BY NEWLINE 
 CHARACTERSET AL32UTF8 
 STRING SIZES ARE IN BYTES  
 skip 1
 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LDRTRIM 
 MISSING FIELD VALUES ARE NULL   
)

Существует ли возможность или параметр, указывающий оракулу объединить два символа в выводе с одним?

1 Ответ

1 голос
/ 14 марта 2019

Похоже, что внешняя таблица Oracle не может должным образом преобразовать U+004F U+0308 в одиночную Ö

Я полагаю, что результат будет хорошим, если вы перенесете базу данных из WE8MSWIN1252 в AL32UTF8 (UTF-8)см. https://docs.oracle.com/database/121/NLSPG/ch11charsetmig.htm#NLSPG011

Или измените файл CSV и замените символ U+004F U+0308 на U+00D6, который называется Нормализация Unicode

Вы также можете посмотретьна Знаки и комбинированные знаки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...