• 解决plsql显示问号(???)问题


    如何查看Oracle数据库的字符编码

    1、查询Oracle Server端的字符集:
    有很多种方法可以查出oracle server端的字符集,比较直观的查询方法是以下这种:
    SQL>select userenv(‘language’) from dual;
    结果如下:AMERICAN _ AMERICA. ZHS16GBK。
    2、查询dmp文件的字符集:
    用Oracle的exp工具导出的dmp文件也包含了字符集信息,dmp文件的第2和第3个字节记录了dmp文件的字符集。如果dmp文件不大,比如只有几M或几十M,可以用UltraEdit打开(16进制方式),看第2第3个字节的内容,如0354,然后用以下SQL查出它对应的字符集:
    SQL> select nls_charset_name(to_number('0354','xxxx')) from dual;
    ZHS16GBK
    3、查询Oracle client端的字符集:
    这个比较简单。在Windows平台下,就是注册表里面相应OracleHome的NLS_LANG。还可以在Dos窗口里面自己设置,比如:
    set nls_lang=AMERICAN_AMERICA.ZHS16GBK
    如果检查的结果发现Server端与Client端字符集不一致,请统一修改为同Server端相同的字符集。

     

    原因:本机没有配置数据库字符集环境变量,或是与数据库字符集不一致。

    步骤一:执行在plsql中执行 select userenv('language') from dual; 语句来查看本机的字符集,或是执行 select * from V$NLS_PARAMETERS; 语句。两者的区别是第一种查看到的是拼接好的一条字符集数据,第二种是数据库详细配置参数有多条数据需要将 第一行,第二行,第九行的value数据以 第一行_第二行.第九行的格式拼接起来,我的拼接好好后是AMERICAN_AMERICA.ZHS16GBK

    步骤二:在环境变量中添加两条配置信息,鼠标右键我的电脑(计算机/此电脑)等图标,选择属性,选择高级系统设置,选择高级选项卡的环境变量,在系统变量里新建两条配置:

    1、LANG=zh_CN.GBK(GBK是这样形式的,不同编码这里的value值需要跟着改变)

    2、NLS_LANG=AMERICAN_AMERICA.ZHS16GBK(这个value值就是我们步骤一中拼接好的那个值)

    步骤三:这步也是至关重要的,到这里我们就配置好了,很多的博客与帖子都说重启plsql即可,但是我的并没有生效,需要重启电脑 生效,很重要。

    Oracle字符集的查看查询和Oracle字符集的设置修改

    https://www.cnblogs.com/perilla/p/3873653.html

  • 相关阅读:
    laravel faker,种子文件,数据工厂,数据填充
    phpstorm2020 修改快捷注释时的斜杠的位置
    rbac 4表 常规设计
    laravel 模型迁移文件常规字段设计
    php artisan 常用基础命令一
    MySQL查询(下)
    mysql的增删改查(列子)
    python-面向对象的一些简单操作
    PHP版本新特新历史
    日志文件分析常用总结
  • 原文地址:https://www.cnblogs.com/renzmin/p/12075284.html
Copyright © 2020-2023  润新知