национальный диалект с разными NLS_LANG - PullRequest
0 голосов
/ 30 января 2019

У меня есть оракул DB с набором символов EE8ISO8859P2, и я хочу вставить записи на арабском или русском языке (UTF8).Когда я делаю:

select CONVERT('العربية', 'EE8ISO8859P2', 'AL32UTF8') from dual

, это показывает «???????».Как я могу использовать национальные диалекты без изменения набора символов оракула?Извините 4 мой английский;)

1 Ответ

0 голосов
/ 30 января 2019

Посмотрите на наборы символов , поддерживаемые вашей базой данных :

SELECT *
FROM   v$nls_parameters
WHERE  parameter LIKE '%CHARACTERSET'

, которые, как мы надеемся, выведут что-то вроде:

PARAMETER              | VALUE    
:--------------------- | :-----------
NLS_CHARACTERSET       | EE8ISO8859P2
NLS_NCHAR_CHARACTERSET | AL32UTF8

Если NLS_NCHAR_CHARACTERSET - UTF8(или другую подобную кодировку), тогда не используйте CHAR / VARCHAR2 типы данных, а вместо этого используйте NCHAR / NVARCHAR2 типы данных:

SELECT N'العربية' FROM DUAL;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...