Maison  >  Article  >  développement back-end  >  PHP访问Oracle乱码!解决方案

PHP访问Oracle乱码!解决方案

WBOY
WBOYoriginal
2016-06-13 10:03:531300parcourir

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 ?
你把代码贴出来看下好了,乱猜没有用的
那样比较明朗些.
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn