zoukankan      html  css  js  c++  java
  • [oracle]解决centos 7下oracle的中文乱码问题

    首先在形成中文乱码的原因是由于字符集不统一导致的,不同的字符集在转换的过程中必然要出现乱码,当然不排除可以转换。所以要解决中文乱码问题,思路是将输入、存储、显示等流程中涉及到字符集都统一为一种,对于oracle首先必须满足的先决条件是要服务端和客户段的字符集统一,若还不能解决问题,同时还要将系统的字符集与之统一,甚至导入或输入数据所使用的字符集统一。

    看了网上的一些资料后,都说修改服务器的字符集风险比较大,确实,测试开发用还好说,假若是上线项目的服务器,那修改服务器字符集所带来的后果是不堪的,废话我多说以下贴上我的解决办法。

    1、乱码问题

    刚开始的时候通过sql语句建表,并且插入数据,最后进行select,在命令界面总是显示如下问题:

    2、查询服务端的字符集

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

    显示如下结果:

    AMERICAN_AMERICA.WE8MSWIN1252

    这个字符集比较奇葩阿,从来没有见过,但是没见过的东西太多了,既然人家设计默认如此字符集,应该是有着其有利之处的

    3、查看配置文件中客户端设置的字符集

    vi /home/oracle/.bash_profile 

    显示结果如下:

    export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK 

    原来我在安装oracle时将客户端的字符集设置成了AMERICAN_AMERICA.ZHS16GBK,服务端和客户端的字符集不相同必然要出错,将客户端的字符集修改为AMERICAN_AMERICA.WE8MSWIN1252,重新执行程序,令人赏心悦目的结果出现了:

  • 相关阅读:
    Network (poj1144)
    C. Hongcow Builds A Nation
    ZYB loves Xor I(hud5269)
    D. Chloe and pleasant prizes
    Game(hdu5218)
    约瑟夫环的递推方法
    Misaki's Kiss again(hdu5175)
    Exploration(hdu5222)
    B. Arpa's weak amphitheater and Mehrdad's valuable Hoses
    C. Arpa's loud Owf and Mehrdad's evil plan
  • 原文地址:https://www.cnblogs.com/fantasy01/p/4183487.html
Copyright © 2011-2022 走看看