首页后端开发PHPPHP中oracle连接乱码问题该如何解决?

PHP中oracle连接乱码问题该如何解决?

时间2024-03-22 08:24:03发布访客分类PHP浏览749
导读:这篇文章主要为大家详细介绍了PHP中oracle连接乱码问题该如何解决?的内容,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望对大家学习或工作能有帮助,接下来就跟随小编一起来学习吧。 php连接oracle乱...
这篇文章主要为大家详细介绍了PHP中oracle连接乱码问题该如何解决?的内容,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望对大家学习或工作能有帮助,接下来就跟随小编一起来学习吧。

php连接oracle乱码的解决办法:1、通过运行“select * from V$NLS_PARAMETERS; ”命令来获取oracle的字符集;2、修改变量“NLS_CHARACTERSET”为对应的字符集;3、将本地的PHP文件统一设置为utf-8即可。

php 连接 oracle 乱码怎么办?

php连接oracle设定字符集,避免乱码

数据库用oracle,当php连接oracle的时候,最好指定字符集。

查PHP手册,oci_connect的第四个参数为charset,这是关键。

首先获取oracle的字符集,运行“select * from V$NLS_PARAMETERS; ”,变量NLS_CHARACTERSET对应的就是我们需要的字符集,比如我这里就是“ZHS16GBK”。

所以,最终的PHP代码为:

$c1 = oci_connect("scott", "tiger", $db, 'zhs16gbk');
登录后复制

我本地的PHP文件统一用utf-8,所以,获取的代码还要经过如下编码转换:

while ($dat = oci_fetch_row($cur)) {
        print_r(iconv('gb2312', 'utf-8', $dat[0]));
  }
    
登录后复制

更新:

同事说,Oracle可以按照 客户端指定的字符集 提供数据。也就是说,如果我本地PHP文件用UTF-8,那么,我在oci_connect的时候,直接指定utf-8就行了,连编码转换都省了。

$c1 = oci_connect("scott", "tiger", $db, 'UTF8');
登录后复制

Php代码

while ($dat = oci_fetch_row($cur)) {
        print_r($dat[0]);
  }
    


关于“PHP中oracle连接乱码问题该如何解决?”的内容就介绍到这,感谢各位的阅读,相信大家对PHP中oracle连接乱码问题该如何解决?已经有了进一步的了解。大家如果还想学习更多知识,欢迎关注网络,小编将为大家输出更多高质量的实用文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: PHP中oracle连接乱码问题该如何解决?
本文地址: https://pptw.com/jishu/650257.html
C#连接ORACLE乱码怎么办,有哪些解决方案 Oracle临时表空间概念怎么理解,常见操作有哪些

游客 回复需填写必要信息