广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >怎么解决php连接oracle乱码问题
  • 242
分享到

怎么解决php连接oracle乱码问题

2023-06-25 10:06:08 242人浏览 泡泡鱼
摘要

本篇内容主要讲解“怎么解决PHP连接oracle乱码问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解决php连接oracle乱码问题”吧!php连接oracle乱码的解决办法:1、设置环

本篇内容主要讲解“怎么解决PHP连接oracle乱码问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解决php连接oracle乱码问题”吧!

php连接oracle乱码的解决办法:1、设置环境变量;2、获取oracle的字符集;3、通过“iconv('GBK','utf-8',$vo["USERNAME"]);”方法转换编码即可。

怎么解决php连接oracle乱码问题

本文操作环境:windows7系统、PHP7.1版、DELL G3电脑

如何解决php 连接oracle乱码问题?

PHP 连接Oracle及乱码问题笔记

1. PHP连接Oracle

步骤1. 提取Oracle Instant Client核心DLL

从OTN 的 Instant Client 页面下载用于 Windows 的 Instant Client Basic(11g) 程序包。此压缩文件的大小大约为 48MB。创建一个子目录(例如,c:\instantclient11_2),然后从压缩文件中复制以下库到apache\bin目录下:

oraociei11.dll orannzsbb11.dll oci.dll

这三个文件的总大小大约为 126MB。
要使用 PHP 老版本的“oracle”扩展(在 php.ini 中使用“extension=php_oracle.dll”启用),则复制 ociw32.dll 而非 oci.dll。

步骤2:编辑环境变量,将 c:\instantclient11_2 添加到 PATH 中(系统环境变量位于其他 Oracle 目录之前)。

例如,在 Win7 上,依次单击“计算机”->右键“属性”->“高级系统设置”->“高级”->“环境变量”,编辑系统变量列表中的 PATH。
如果使用了 tnsnames.ora 文件定义 Oracle Net 服务名称,则将 tnsnames.ora 复制到 c:\instantclient11_2,并将用户环境变量 TNS_ADMIN 设置为 c:\instantclient11_2。

步骤3:打开php的oci8扩展 编辑 php.ini,把 OCI8 扩展打开,即去掉注释符号‘;’:extension=php_oci8.dll

重新启动 Apache。重启服务器服务器必须重启,不然环境变量不起效)

重启后通过phpinfo() 看到以下内容则表示配置成功:

oci8

OCI8 Supportenabled
Version1.4.7
Revision$Id: bf2eaf558b050b6d2e6d098bed6345af7e842ea4 $
Active Persistent Connections0
Active Connections0
Oracle Run-time Client Library Version11.2.0.3.0
Oracle Instant Client Version11.2
Temporary Lob supportenabled
Collections supportenabled
DirectiveLocal ValueMaster Value
oci8.connection_classno valueno value
oci8.default_prefetch100100
oci8.eventsOffOff
oci8.max_persistent-1-1
oci8.old_oci_close_semanticsOffOff
oci8.persistent_timeout-1-1
oci8.ping_interval6060
oci8.privileged_connectOffOff
oci8.statement_cache_size2020

2. PHP Oracle 中文乱码问题

通常缺省配置连接Oracle在处理中文时都会遇到乱码问题,其实绝大部分人都知道在客户端连接Oracle服务端前首先要在客户端正确的设置服务端的字符集信息,通过PLsql运行“select * from V$NLS_PARAMETERS;” 即可获取oracle的字符集,变量NLS_CHARACTERSET对应的就是我们需要的字符集,比如我这里就是“WE8ISO8859P1”

设置字符集的方法如下:

方法一: 连接前设置环境变量

putenv("NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1");$conn=oci_new_connect($config['username'], $config['passWord'],$config['database']);

方法二:连接时设置环境变量

 $conn=oci_new_connect($config['username'], $config['password'],$config['database'],'we8iso8859p1');

但是很快你会发现通过上述设置读取的中文数据在不设置编码的情况下可以正常显示,而一旦在页面(假如页面的字符集为UTF8)中使用则仍为乱码,

并且即便做转换 从 we8iso8859p1 -> utf-8  依旧为乱码。

其实仔细研究后发现oci8 以数据库编码WE8ISO8859P1获取数据后 自动转换为操作系统缺省的编码格式,假如我使用的操作系统缺省编码为GBK,则实际上通过OCI8读取后,字符的编码即为GBK, 因此在页面使用的时候编码转换应该为  从 GBK -> utf-8 :

 echo iconv('GBK','utf-8',$vo["USERNAME"]);

到此,相信大家对“怎么解决php连接oracle乱码问题”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: 怎么解决php连接oracle乱码问题

本文链接: https://www.lsjlt.com/news/304059.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么解决php连接oracle乱码问题
    本篇内容主要讲解“怎么解决php连接oracle乱码问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解决php连接oracle乱码问题”吧!php连接oracle乱码的解决办法:1、设置环...
    99+
    2023-06-25
  • 如何解决php 连接oracle乱码问题
    本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑如何解决php 连接oracle乱码问题?PHP 连接Oracle及乱码问题笔记1. PHP连接Oracle步骤1. 提取Oracle Instant Client核心D...
    99+
    2016-10-23
    php oracle
  • php连接oracle乱码怎么解决
    本篇内容主要讲解“php连接oracle乱码怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php连接oracle乱码怎么解决”吧!php连接oracle乱码的解决办法:1、通过运行“se...
    99+
    2023-07-04
  • php连接mysql乱码问题如何解决
    今天小编给大家分享一下php连接mysql乱码问题如何解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、乱码形成原因当使...
    99+
    2023-07-05
  • C#连接ORACLE出现乱码问题的解决方法
    目录方法一方法二方法三方法四以前做过java项目,连接各种数据库都得心应手,最近接触c#的一个项目,连接SqlServer数据库倒也是很好用,但是遇到oracle数据库就萎了,于是搜...
    99+
    2022-11-12
  • php 连接 oracle 乱码怎么办
    本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。php 连接 oracle 乱码怎么办?php连接oracle设定字符集,避免乱码数据库用oracle,当php连接oracle的时候,最好指定字符集。查PHP手册,...
    99+
    2022-10-19
  • 怎么解决PHP+trim乱码问题
    本篇内容主要讲解“怎么解决PHP+trim乱码问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解决PHP+trim乱码问题”吧!PHP trim乱码是因为在PHP中字符串函数默认都不是mu...
    99+
    2023-06-22
  • 怎么解决php get乱码问题
    怎么解决php get乱码问题,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。php get乱码的解决办法:1、使用iconv函数将字符串按要求的字符编码进行转换;2、使用m...
    99+
    2023-06-22
  • 怎么解决php imagecreate乱码问题
    这篇文章主要讲解了“怎么解决php imagecreate乱码问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么解决php imagecreate乱码问题”吧!php imagecrea...
    99+
    2023-06-25
  • 怎么解决php glob乱码问题
    这篇文章主要讲解了“怎么解决php glob乱码问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么解决php glob乱码问题”吧!php glob乱码的解决方法:1、检查并修改web服...
    99+
    2023-06-25
  • 怎么解决php gd乱码问题
    这篇文章主要讲解了“怎么解决php gd乱码问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么解决php gd乱码问题”吧!php gd乱码的解决办法:1、通过“iconv(&...
    99+
    2023-06-25
  • 怎么解决php opendir乱码问题
    这篇文章主要介绍了怎么解决php opendir乱码问题的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么解决php opendir乱码问题文章都会有所收获,下面我们一起来看看吧。php opendir乱码的解...
    99+
    2023-06-26
  • 怎么解决php admin乱码问题
    这篇文章主要介绍“怎么解决php admin乱码问题”,在日常操作中,相信很多人在怎么解决php admin乱码问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么解决php admin乱码问题”的疑惑有所...
    99+
    2023-06-25
  • 怎么解决php echo alert 乱码问题
    这篇文章给大家分享的是有关怎么解决php echo alert 乱码问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。php echo alert乱码的解决办法:首先打开相应的PHP代码文件;然后在方法中添加语句...
    99+
    2023-06-15
  • PHP怎么解决中文乱码问题
    这篇文章主要介绍“PHP怎么解决中文乱码问题”,在日常操作中,相信很多人在PHP怎么解决中文乱码问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP怎么解决中文乱码问题”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-17
  • 怎么解决hbuild中php乱码问题
    这篇文章将为大家详细讲解有关怎么解决hbuild中php乱码问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。hbuild php乱码的解决办法:1、打开HBuilder软件;2、依次选择“文件”->...
    99+
    2023-06-22
  • 怎么解决php gzip css 乱码问题
    本文操作环境:Windows7系统、PHP7.1版,DELL G3电脑。怎么解决php gzip css 乱码问题php file_get_contents抓取Gzip网页乱码的三种解决方法用 file_get_contents() 函数抓...
    99+
    2021-11-14
    php gzip css
  • 怎么解决php中exec乱码问题
    这篇文章主要介绍怎么解决php中exec乱码问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php exec乱码的解决办法:1、执行“exec("python cmd.py",$str);”;2...
    99+
    2023-06-22
  • 怎么解决php insert mysql乱码问题
    本篇内容介绍了“怎么解决php insert mysql乱码问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!php insert mysq...
    99+
    2023-06-22
  • 怎么解决php注释乱码问题
    这篇文章主要介绍“怎么解决php注释乱码问题”,在日常操作中,相信很多人在怎么解决php注释乱码问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么解决php注释乱码问题”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-25
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作