博客
关于我
PL/SQL Oracle客户端中文出现乱码的解决方法
阅读量:506 次
发布时间:2019-03-07

本文共 735 字,大约阅读时间需要 2 分钟。

在笔者查阅相关资料后发现,其实PL/SQL Oracle客户端中文出现乱码的根本原因并非与PLSQL本身有关,而是与数据库的字符集设置有关。这个问题源于我们的Oracle数据库系统未进行正确的中文字符集配置,导致无法正确显示中文字符。

解决方法:

在经过分析后,以下步骤可用于解决Oracle客户端中文乱码问题:

  • 拥具管理员权限后,登录数据库末端输入以下命令:

    SQL> shutdown immediate

  • 接着进行数据库启动:

    SQL> startup

  • 在数据库处于运行状态的情况下,执行以下命令以启用限制会话:

    SQL> alter system enable restricted session;

  • 同时,将AQ_tm_jobs和job_queue_processes设置为0:

    SQL> alter system set job_queue_processes=0;SQL> alter system set aq_tm_processes=0;

  • 开启数据库:

    SQL> alter database open;

  • 最后,将数据库的字符集改为ZHS16GBK:

    SQL> alter database character set internal_use ZHS16GBK;

  • 重新启动数据库:

    SQL> shutdown immediateSQL> startup

  • 最后,确认语言环境:

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

  • 预期结果:在完成以上参数修改后,系统将提示:USERENV('LANGUAGE') = AMERICAN_AMERICA.ZHS16GBK

    通过以上步骤,应该能够检查到正确的语言环境配置。

    转载地址:http://shqjz.baihongyu.com/

    你可能感兴趣的文章
    php composer
    查看>>
    reflow和repaint引发的性能问题
    查看>>
    php csv 导出
    查看>>
    php curl 实例+详解
    查看>>
    php curl_init函数用法(http://blog.sina.com.cn/s/blog_640738130100tsig.html)
    查看>>
    php curl_multi批量发送http请求
    查看>>
    PHP curl请求错误汇总和解决方案
    查看>>
    php echo 输出 锘?... 乱码问题
    查看>>
    PHP empty、isset、isnull的区别
    查看>>
    ReferenceQueue的使用
    查看>>
    PHP FastCGI进程管理器PHP-FPM的架构
    查看>>
    php flush()刷新不能输出缓冲的原因分析
    查看>>
    Referenced classpath provider does not exist: org.maven.ide.eclipse.launchconfig
    查看>>
    Refactoring-Imporving the Design of Exsiting Code — 代码的坏味道
    查看>>
    PHP imap 远程命令执行漏洞复现(CVE-2018-19518)
    查看>>
    php include和require
    查看>>
    ref 和out 区别
    查看>>
    php JS 导出表格特殊处理
    查看>>
    php json dom解析
    查看>>
    ReentrantReadWriteLock读写锁解析
    查看>>