plsql中文乱码问题

时间:2023-10-05 17:34:08

问题:

打开 plsql,执行 sql 语句,中文显示乱码:

解决方案:

1)输入 sql 语句 select userenv('language') from dual 查看数据库字符集

​ 输出结果: SIMPLIFIED CHINESE_CHINA.AL32UTF8

 2)输入 sql 语句 select * from V$NLS_PARAMETERS 查看本地字符集,查看第一行和第九行是否对应

NLS_LANGUAGE SIMPLIFIED CHINESE

NLS_CHARACTERSET AL32UTF8

3)查看下环境变量的设置,查看是否有变量 NLS_LANG,没有则新建该变量

4)新建变量,设置变量名:NLS_LANG,变量值:SIMPLIFIED CHINESE_CHINA.AL32UTF8(这里的变量值需要与数据库环境相同所以不固定:比如还会有 utf-8 等),确定即可

5)重新打开 plsql,执行 sql 语句,问题解决

问题:

打开 plsql,执行 sql 语句,日期类型数据显示乱码:

在环境变量中新增:

变量名 : NLS_TIMESTAMP_FORMAT NLS_TIMESTAMP_FORMAT

变量值 : YYYY-MM-DD HH24:MI:SS:FF6