Содержимое столбца 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 из ?
) тогда нам нужно найти другой способ увидеть это. Проверьте и дайте нам знать.