• 转:Oracle数据库sqlplus与plsqldev解决乱码


    问题描述 :

      在用eclipse使用jdbc插入中文数据的时,数据用plsqldev查询时,正常显示中文,但是用sqlplus查询时,为中文乱码,当用plsqldev直接插入中文时,也直接会出现乱码,用sqlplus插入的中文,plsqldev读出乱码---> plsqldev与sqlplus出现乱码不一致情况

    解决    :

      1)使用查询语句

    1
    select from v$nls_parameters;

      查询到的 

    1
    NLS_CHARACTERSET                                                 AL32UTF8 --主要是看这个编码

      网上解决方式一,修改注册表

    1
    2
    3
    路径:regedit>>HKEY_LOCL_MACHINE>>SOFTWARE>>ORALCE>>KEY_ORADB11G_HOME1
     
    NLS_LANG的值设置为SIMPLIFIED CHINESE_CHINA.ZHS16GBK   --主要是修改后边的字符编码即可

      疑问:数据库明明是 AL32UTF8 编码,客户端为什么修改为GBK编码 才能正常显示。。大体可能数据库的资源,在控制台显示的时候会有一个默认转码,设置为GBK才能正常显示。。。这个解决方法只能解决sqlplus的乱码,而不能解决plsqldev的乱码,有可能是我装的是64位数据库,又装了一个32位的客户端,plsqldev是依靠32位,所以这样的修改对plsqldev没有影响

      网上解决方式二,修改环境变量

    1
    2
    NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
    --加入一个系统环境变量

      这样,plsqldev与sqlplus读取时,都会先找系统环境变量,如果存在nls_lang变量,就不需要读取注册表了。。

    最终解决方式

    选择方法二,直接修改环境变量,不需要修改注册表,两者都会起作用

    那一汪清眸,那一瞥青涩的目光,那一段青春岁月。我一直在寻找,寻找一个属于我的婆娑世界,寻找那一年的自己,再也回不去了……
  • 相关阅读:
    detectron源码阅读,avgpool是什么意思、特征意思
    detectron2 特征金字塔代码讲解,detectron2train的过程
    detectron2 一个整体的demo说明自定义数据集以及训练过程
    fcos学习问题
    直接debug在源码上修改的方式
    为什么如果待分类类别是10个,类别范围可以设置成(9,11)
    delphi 各版本下载
    oracle11g 修改字符集 修改为ZHS16GBK
    delphi 判断调试状态
    fastreport5 有变量时 不加引号字符串出错 提示没有声明的变量
  • 原文地址:https://www.cnblogs.com/feiger/p/5377452.html
Copyright © 2020-2023  润新知