Oracle列内容显示为“?”,如何解决?
Oracle column contents displayed as "?", how to fix it?
在 dba_col_comments
table 的第 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
如何知道被问号代替的实际符号?
如果您的数据库按字面意思存储 ?
那么我不确定,但是您可以使用下面的内容
获取 comments
中第二个字符的 ascii 值
SELECT ASCII(SUBSTR(COMMENTS,2,1)) FROM DBA_COL_COMMENTS WHERE TABLE_NAME='XX' AND COLUMN_NAME='OO';
如果你想看到第三个,在substr
参数中使用3
。
如果您得到的结果是 63
(?
的 ascii),那么我们需要找到另一种方法来查看它。检查并告诉我们。
在 dba_col_comments
table 的第 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
如何知道被问号代替的实际符号?
如果您的数据库按字面意思存储 ?
那么我不确定,但是您可以使用下面的内容
comments
中第二个字符的 ascii 值
SELECT ASCII(SUBSTR(COMMENTS,2,1)) FROM DBA_COL_COMMENTS WHERE TABLE_NAME='XX' AND COLUMN_NAME='OO';
如果你想看到第三个,在substr
参数中使用3
。
如果您得到的结果是 63
(?
的 ascii),那么我们需要找到另一种方法来查看它。检查并告诉我们。