• linux下occi操作oracle数据库,中文乱码的问题


    转载:http://www.linuxidc.com/Linux/2008-02/11238.htm

    前几日调通了OCI连接数据库的问题后,用Oracle自带的例子测试了一下,能正常读取数据(都是英文的),就放心了,转去开发别的模块。这几天做数据库模块是需要插入中文数据,才发现插进去的都是 "????"。确保数据都是GB2312格式,转换成UTF-8后依然无效。翻来覆去转了好多次,总是不见效。

    google发现了一篇文章说要在客户端设置字符集NLS_LANG,记得以前安装oracle的时候是英文安装,只设置了LANG变量,这个没有设置。于是在ORACLE服务器端 SELECT * FROM sys.props$ ,得到

    NLS_LANGUAGE=AMERICAN
    NLS_TERRITORY=AMERICA
    NLS_ISO_CURRENCY=AMERICA
    NLS_CHARACTERSET=ZHS16GBK

    根据这些参数设置NLS_LANG=AMERICAN_AMERICA.ZHS16GBK (GOOGLE出来的文章中设置为NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK",是因为安装的服务器的字符集设置不同)。

    然后在/etc/profile中export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK ,然后source /etc/profile,再运行程序,哈哈,中文出来了啊!

  • 相关阅读:
    【贪心】POJ1017:Packets
    【贪心】POJ2393:Yogurt factory
    【贪心】POJ3190:Stall Reservations
    【递归】地盘划分
    【递归与递推】青蛙过河
    【搜索】POJ1242:Rescue
    单词方阵(dfs)
    反向因子Inverse Factorial
    P1604 B进制星球
    抵制克苏恩(记忆化搜索)
  • 原文地址:https://www.cnblogs.com/3me-linux/p/4513968.html
Copyright © 2020-2023  润新知