免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3565 | 回复: 10
打印 上一主题 下一主题

redhat4+Apache2下php5+PearDB查询redehat4下的oracle10g中得查询数据显示乱码 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-08-20 17:01 |只看该作者 |倒序浏览
redhat4+Apache2.2.4下php5.2.3+PearDB查询redehat4下的oracle10g中得查询数据显示乱码的问题
我的oracle10G安装是设定的字符集为:AL32UTF8,php脚本编码无论是UTF8还是GB2312,查询出来的数据都是乱码,
通过php插入进去的英文数据可以正常显示,读出来没有问题(通过PEARDB),但是通过PHP插入的中文数据(通过PEARDB),在读出来就是乱码(有些是???显示有些干脆不显示),但是我在windows2000上安装oracle10g的客户端的SQLPLUS,插入中文和英文后再读出来显示都是正常的,但是读取通过php插入的数据时依然是乱码(有些是???显示有些干脆不显示)。
我是个新手,希望大侠们不吝赐教,感激涕零!!!

论坛徽章:
0
2 [报告]
发表于 2007-08-21 10:39 |只看该作者

对了redhat4是指redhat as 4

对了redhat4是指redhat as 4

论坛徽章:
0
3 [报告]
发表于 2007-08-21 10:50 |只看该作者
php机器上环境变量 NLS_LANG怎么设置的

论坛徽章:
0
4 [报告]
发表于 2007-08-21 11:19 |只看该作者
其实php和oracle 10g在同一台机器
不知道如何查阅NLS_LANG
是ECHO $NLS_LANG 么?

论坛徽章:
0
5 [报告]
发表于 2007-08-21 11:20 |只看该作者
在线等待

论坛徽章:
0
6 [报告]
发表于 2007-08-21 11:21 |只看该作者
在线等待

论坛徽章:
0
7 [报告]
发表于 2007-08-21 11:24 |只看该作者
不过
[oracle@JXJ-Linux ~]$ echo $NLS_LANG

[oracle@JXJ-Linux ~]$ echo $LANG
zh_CN.GB18030
[oracle@JXJ-Linux ~]$
不知道如何设置NLS_LANG

论坛徽章:
0
8 [报告]
发表于 2007-08-21 11:42 |只看该作者
数据库的字符集为
执行SELECT value FROM nls_database_parameters WHERE parameter = 'NLS_CHARACTERSET'得到的结果是AL32UTF8
执行select userenv('language') from dual 得到的结果是SIMPLIFIED CHINESE_CHINA.AL32UTF8
不知道接下来如何设置,才能使用PHP5正常插入和显示中文

论坛徽章:
0
9 [报告]
发表于 2007-08-21 12:30 |只看该作者
客户端NLS_LANG可以考虑设置成:

export NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK

AL32UTF8这个字符集支持很多语言的编码,比如日文,中文等,一般用来存储,如果是客户端访问的 话,一般用兼容的字符集就可以了。

论坛徽章:
0
10 [报告]
发表于 2007-08-21 14:37 |只看该作者
是不是每一次启动服务器都要执行export NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
能不能设置一下,自动执行
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP