Содержимое столбца Oracle отображается как "?", Как это исправить?

В колонке COMMENTS из dba_col_comments В таблице некоторые символы отображаются как "?". Вероятно, это заменены китайские символы.

PL / SQL Developer и SQLPlus показывают одинаковые результаты:

SQL> SELECT * FROM dba_col_comments WHERE table_name='XX' AND COLUMN_NAME='OO';

OWNER   TABLE_NAME  COLUMN_NAME               COMMENTS
------- ---------- -------------- -------------------------  
GAME    XX          OO             1?????????2?????????????


SQL> select userenv('language') from dual;

USERENV('LANGUAGE')
----------------------------------
SIMPLIFIED CHINESE_CHINA.AL32UTF8

Как узнать реальные символы, которые заменены на вопросительные знаки?

1 ответ

Решение

Если ваша БД хранит ? буквально тогда я не уверен, но вы можете получить значение ascii второго символа в comments с чем-то вроде ниже

SELECT ASCII(SUBSTR(COMMENTS,2,1)) FROM DBA_COL_COMMENTS WHERE TABLE_NAME='XX' AND COLUMN_NAME='OO';

Если вы хотите увидеть третье, используйте 3 в substr параметр.

Если вы получаете результат как 63 (ASCII из ?) тогда нам нужно найти другой способ увидеть это. Проверьте и дайте нам знать.

Другие вопросы по тегам