Вывод сценария SQL Developer: язык английский + символы utf-8 ('ő', 'ű') - PullRequest
0 голосов
/ 06 июля 2018

Как установить в языке вывода сценария SQL для разработчиков английский язык, но с неанглийским языком появляются специальные символы ('ő', 'ű').

Я думаю, что это вопрос кодировки. Я установил кодировку utf-8, и она правильно работает в результате запроса (например, результат выбора из таблицы показывает символ «őűö»), но в выводе сценария появляется «?» вместо 'ő' (например, в dbms_serveroutput.put_line или в сообщении поднять_аппликацию). H

* 1005 Е.Г. *

select * from test;

A
---
űőö

(все в порядке)

declare
    char varchar2(20);
begin
    select * into char from test;
    dbms_output.put_line(char);
end;
/



??ö

PL/SQL procedure successfully completed

(?? вместо űőö)

Мои настройки:

PARAMETER   VALUE
NLS_RDBMS_VERSION   12.2.0.1.0
NLS_NCHAR_CHARACTERSET  AL16UTF16
NLS_CHARACTERSET    AL32UTF8
NLS_LANGUAGE    AMERICAN

Разработчик SQL: Инструменты - Предпочтения - Среда - Кодировка: UTF-8

Regedit: HKEY_LOCAL_MACHINE \ SOFTWARE \ ORACLE \ KEY_OraDB12Home1 NLS_LANG: AMERICAN_UNITED KINGDOM.AL32UTF8

(версия для разработчиков SQL 18.1.0.095)

Ответы [ 2 ]

0 голосов
/ 09 июля 2018

Ключ - это настройки - настройки кодирования в SQL-разработчике, но их недостаточно для изменения настроек. RESTART также необходим.

Шаги и результаты:

  1. инструменты - настройки - окружение - кодировка = ASCII

  2. 1012 * перезагружать *

begin dbms_output.put_line('űőö'); end;
/

-- result: '???'
  1. инструменты - настройки - окружение - кодировка = UTF-8
begin dbms_output.put_line('űőö'); end;
/

-- result: '???'
  1. RESTART sqldeveloper
begin dbms_output.put_line('űőö'); end;
/

-- result: 'űőö''
0 голосов
/ 09 июля 2018

Это работает для меня:

select unistr( '\0169\00f5\00f6' ) from dual;

UNI
---
ũõö


declare 
    c varchar2(20);
begin
    select unistr( '\0169\00f5\00f6' ) into c from dual;
    dbms_output.put_line( c );
end;
/

UNI
---
ũõö

И я использую ту же версию SQLDev и базу данных AL32UTF8. Каково определение вашей test таблицы?

...