php 读取文件乱码问题


Posted in PHP onFebruary 20, 2010

网上的解决办法说抓取后用iconv()转码。看后我就觉 得不对劲:一个是不一定编译了iconv库,更大的问题是编码都跟流转换的时候有关(如果用了iconv实际上php转了两次码:流 -> UTF-8 -> GB2312):这不是白忙乎了吗?

仔细看了下php的文档(不知道大家都是怎么写代码的,其实文档上很清楚啊),上面关于fopen()及file_get_contents()都 提到了“默认是UTF-8,但是用户可以用stream_default_encoding()或者用户自定义上下文属性改变编码”(If unicode semantics are enabled, the default encoding of the read data is UTF-8. You can specify a different encoding by creating a custom context or by changing the default using stream_default_encoding().)。于是用stream_default_encoding('gb2312′);测试:但是 faint的是,这个函数不存在?!似乎php 6才支持。不过天无绝人之路,还有“用户自定义上下文属性”可以用。

经过更仔细的看文档,最后解决了这个问题:

//设置流的编码格式,这是文件流(file),如果是网络访问,file改成http 
$opts = array('file' => array('encoding' => 'gb2312')); 
$ctxt = stream_context_create($opts); 
file_get_contents(文件名, FILE_TEXT, $ctxt);
PHP 相关文章推荐
一个阿拉伯数字转中文数字的函数
Oct 09 PHP
PHP输出控制功能在简繁体转换中的应用
Oct 09 PHP
Mysql中limit的用法方法详解与注意事项
Apr 19 PHP
php实现的遍历文件夹下所有文件,编辑删除
Jan 05 PHP
php将数据库导出成excel的方法
May 07 PHP
PHP冒泡排序算法代码详细解读
Jul 17 PHP
解析PHP正则提取或替换img标记属性
Jun 26 PHP
新手菜鸟必读:session与cookie的区别
Aug 22 PHP
WordPress网站性能优化指南
Nov 18 PHP
PHP7+Nginx的配置与安装教程详解
May 10 PHP
Centos 6.5下PHP 5.3安装ffmpeg扩展的步骤详解
Mar 02 PHP
PHPCrawl爬虫库实现抓取酷狗歌单的方法示例
Dec 21 PHP
判断是否为指定长度内字符串的php函数
Feb 16 #PHP
支持数组的ADDSLASHES的php函数
Feb 16 #PHP
php htmlspecialchars加强版
Feb 16 #PHP
php 数组二分法查找函数代码
Feb 16 #PHP
在字符串指定位置插入一段字符串的php代码
Feb 16 #PHP
GBK的页面输出JSON格式的php函数
Feb 16 #PHP
同台服务器使用缓存APC效率高于Memcached的演示代码
Feb 16 #PHP
You might like
PHP运行模式的深入理解
2013/06/03 PHP
深入PHP empty(),isset(),is_null()的实例测试详解
2013/06/06 PHP
PHP连接数据库实现注册页面的增删改查操作
2016/03/27 PHP
Laravel 修改默认日志文件名称和位置的例子
2019/10/17 PHP
图片按比例缩放函数
2006/06/26 Javascript
Javascript 构造函数 实例分析
2008/11/26 Javascript
关于extjs treepanel复选框选中父节点与子节点的问题
2013/04/02 Javascript
我的NodeJs学习小结(一)
2014/07/06 NodeJs
Javascript实现禁止输入中文或英文的例子
2014/12/09 Javascript
JS判断是否360安全浏览器极速内核的方法
2015/01/29 Javascript
jQuery实现的图文高亮滚动切换特效实例
2015/08/10 Javascript
jquery实现点击其他区域时隐藏下拉div和遮罩层的方法
2015/12/23 Javascript
AngularJS ng-template寄宿方式用法分析
2016/11/07 Javascript
jQuery模拟实现的select点击选择效果【附demo源码下载】
2016/11/09 Javascript
关于JavaScript中forEach和each用法浅析
2017/07/27 Javascript
基于ES6 Array.of的用法(实例讲解)
2017/09/05 Javascript
Vue中在新窗口打开页面及Vue-router的使用
2018/06/13 Javascript
通过实例了解js函数中参数的传递
2019/06/15 Javascript
Vue+tracking.js 实现前端人脸检测功能
2020/04/16 Javascript
实例分析javascript中的异步
2020/06/02 Javascript
python 域名分析工具实现代码
2009/07/15 Python
Python实现多线程下载文件的代码实例
2014/06/01 Python
python模拟事件触发机制详解
2018/01/19 Python
python 抓包保存为pcap文件并解析的实例
2019/07/23 Python
python 实现图片上传接口开发 并生成可以访问的图片url
2019/12/18 Python
使用Numpy对特征中的异常值进行替换及条件替换方式
2020/06/08 Python
Python 爬虫的原理
2020/07/30 Python
python3.9.1环境安装的方法(图文)
2021/02/02 Python
汽车销售求职自荐信
2013/10/01 职场文书
2014年消防工作实施方案
2014/02/20 职场文书
竞选班委演讲稿
2014/04/28 职场文书
寻找最美乡村教师观后感
2015/06/18 职场文书
环保证明
2015/06/23 职场文书
人生感悟经典句子
2019/08/20 职场文书
《自然之道》读后感3篇
2019/12/17 职场文书
JavaWeb 入门:Hello Servlet
2021/07/16 Java/Android