网站开发笔记:PHP oci连接Oracle中文乱码问题解决方案

正如一位大牛说的,最让程序员头疼的事就是文字编码问题,西方英文世界很多解决方案都是以他们为中心开发,他们没问题,拿到天朝世界,问题就来了,本问题困扰了我一段时间,php官网的oci介绍并没有关于怎么解决中文乱码问题。解决重点是在连接Oracle时直接指定编码格式,而且特别注意是填写utf8,而不是常见的utf-8,$conn = oci_connect("C##SCOTT", "tiger
摘要由CSDN通过智能技术生成

正如一位大牛说的,最让程序员头疼的事就是文字编码问题,西方英文世界很多解决方案都是以他们为中心开发,他们没问题,拿到天朝世界,问题就来了,本问题困扰了我一段时间,php官网的oci介绍并没有关于怎么解决中文乱码问题。

解决重点是在连接Oracle时直接指定编码格式,而且特别注意是填写utf8,而不是常见的utf-8,

$conn = oci_connect("C##SCOTT", "tiger",$db,'utf8');

Oracle就会根据指定的编码格式输出给客户端,而不需要修改环境变量NLS_LANG和注册表中的NLS_LANG键值,否则反而会造成数据库无法运行。没想到解决起来就是这么简单,而没有想象那么复杂,问题是天煞的你能想到是utf8而不是utf-8吗?

另外在网页中,需要将得到的数据用htmlspecialchars函数处理,最好用该函数,而不是htmlentities,否则网页显示又是乱码。


示例代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htm
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值