perl连接oracle中文乱码

familyX 2009-10-21 09:59:49
我的服务器是Solaris 5.8的,oracle 9.2的,perl 5.8的,apache2.1的php 5.1的。mysql 5.0
出现问题是:

php连接oracle 插入数据,读取数据一切正常
perl 连接mysql 插入数据,读取数据一切正常。

perl连接oracle 读取用php插入到oracle中的中文显示为"??"
perl连接oracle读取用perl插入到oracle中的中文为 “ks_c_5601-1987”这个编码的数据,oracle中也是存储的这样的数据,这些数据是用perl连接oracle插入的。

oracle home下的.profile文件中有这句话:“NLS_LANG=AMERICAN_AMERICA.ZHS16GBK”

SELECT * FROM V$NLS_PARAMETERS 结果是
NLS_CHARACTERSET ZHS16GBK

SELECT * FROM NLS_DATABASE_PARAMETERS 结果是
NLS_CHARACTERSET ZHS16GBK

说白了就是perl连接oracle中文有问题。我现在连是oracle的问题还是perl的问题都搞不清,请大师们帮下忙。。谢谢了
...全文
213 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
familyX 2009-10-23
  • 打赏
  • 举报
回复
解决问题的方法就是把oracle的编码改为:US7ASCII...修改编码的方法:http://www.builder.com.cn/2007/1001/531625.shtml
wuszh1688 2009-10-23
  • 打赏
  • 举报
回复
接分
familyX 2009-10-21
  • 打赏
  • 举报
回复
还有就是sqlplus中中文也显示正常。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧