00. 目录
01. 问题描述
PLSQL Developer操作数据库出现问号问题。
02. 问题分析
oracle客户端和服务器端的编码方式不一样。
03. 问题解决
3.1 查看数据库的编码集
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.AL32UTF8
SQL>
3.2 查看本地字符集
SQL> select * from V$NLS_PARAMETERS;
PARAMETER VALUE
---------------------------------------------------------------- -----------------------------------------------
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_CHARACTERSET AL32UTF8
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
19 rows selected
SQL>
发现本地字符集和服务器字符集一致。
3.3 打开Win10环境变量设置
3.4 选择新建环境变量
3.5 新建环境变量的值如下
环境变量的值由3.1的步骤查询得到
NLS_LANG
AMERICAN_AMERICA.AL32UTF8
保存环境变量的值,选择确定。
3.6 重新启动PLSQL Developer
重新启动PLSQL Developer软件。
04. 结果验证
重新启动PLSQL Developer软件,执行SQL语句.
SQL> select deptno 部门编号, dname 部门名称, loc 部门位置 from dept;
部门编号 部门名称 部门位置
---- ------------------------------ ------------------------------
50 黑胡子海贼团 新世界
45 黑桃海贼团 东海
60 D之一族 ONE PIECE
10 周刊少年Jump Tokyo
20 草帽海贼团 东海
30 红心海贼团 北海
40 红发海贼团 新世界
7 rows selected
05. 附录
5.1 【Tools】PLSQL Developer13.0.4注册和使用教程
参考:https://blog.csdn.net/dengjin20104042056/article/details/107029452