>백엔드 개발 >PHP 튜토리얼 > PHP访问Oracle乱码!解决方案

PHP访问Oracle乱码!解决方案

WBOY
WBOY원래의
2016-06-13 13:46:541068검색

PHP访问Oracle乱码!
Oracle 11 环境:NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK;

PHP 5 default_charset "gb2312"

连接字符:$conn = oci_connect('scott', 'tiger', 'demo', 'zhs16gbk');

//注:后面的‘zhs16gbk‘加不加都不行,或改成'zhs16cdb231280','utf-8'都不行。

SQL*Plus:没问题
PHP:本身没问题
从PHP中INsert into……没问题

网页是IE7(IE6也试过),编码是简体中文GB2312。

可查询出的结果,英语显示正常,汉字都是乱码,折腾了几天了,还 是搞不定,那位有经验帮一下,先谢谢!

环境:Vista+Oracle 11+Php 5+ Apache 2.2.8
在XP下也试过不行。


------解决方案--------------------
还是你自已查一下oracle手册关于字符集的设置吧!
其次就是数据库中的字符集要和页面输出端的字符集一致!
------解决方案--------------------
查看―――》编码―――》自动选择
一般都是utf-8
------解决方案--------------------
在头上加上

就可以了
我想是因为你的文件不是utf-8的
------解决方案--------------------
再加个环境变量
NLS_NCHAR=ZHS16GBK
------解决方案--------------------
加个环境变量
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
重新启动机器
------解决方案--------------------




------解决方案--------------------
还有一个地方是
数据库表的定义是不是utf-8 ?
你把代码贴出来看下好了,乱猜没有用的
那样比较明朗些.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.