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 相关文章推荐
mysql_fetch_assoc和mysql_fetch_row的功能加起来就是mysql_fetch_array
Jan 15 PHP
php+ajax做仿百度搜索下拉自动提示框(有实例)
Aug 21 PHP
php制作文本式留言板
Mar 18 PHP
PHP检测用户语言的方法
Jun 15 PHP
php文件操作相关类实例
Jun 18 PHP
PHP中如何使用session实现保存用户登录信息
Oct 20 PHP
php创建无限级树型菜单
Nov 05 PHP
深入剖析浏览器退出之后php还会继续执行么
May 17 PHP
微信支付开发交易通知实例
Jul 12 PHP
PHP中$GLOBALS['HTTP_RAW_POST_DATA']和$_POST的区别分析
Jul 03 PHP
php实现的pdo公共类定义与用法示例
Jul 19 PHP
详解PHP中的8个魔术常量
Jul 06 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
全国FM电台频率大全 - 25 云南省
2020/03/11 无线电
php array的学习笔记
2012/05/16 PHP
php创建和删除目录函数介绍和递归删除目录函数分享
2014/11/18 PHP
PHP抓取淘宝商品的用户晒单评论+图片+搜索商品列表实例
2016/04/14 PHP
php事务回滚简单实现方法示例
2017/03/28 PHP
原生js写的放大镜效果
2012/08/22 Javascript
JavaScript 产生不重复的随机数三种实现思路
2012/12/13 Javascript
JavaScript转换农历类实现及调用方法
2013/01/27 Javascript
在JavaScript中重写jQuery对象的方法实例教程
2014/08/25 Javascript
jQuery中offset()方法用法实例
2015/01/16 Javascript
jquery通过closest选择器修改上级元素的方法
2015/03/17 Javascript
javascript实现base64 md5 sha1 密码加密
2015/09/09 Javascript
每天一篇javascript学习小结(Array数组)
2015/11/11 Javascript
javascript弹性运动效果简单实现方法
2016/01/08 Javascript
Ajax+FormData+javascript实现无刷新表单信息提交
2016/10/24 Javascript
JavaScript数组去重的6个方法
2017/01/21 Javascript
Vuex简单入门
2017/04/19 Javascript
Vue 自定义标签的src属性不能使用相对路径的解决
2019/09/17 Javascript
vue 解决异步数据更新问题
2019/10/29 Javascript
JavaScript实现网页跨年倒计时
2020/12/02 Javascript
python根据距离和时长计算配速示例
2014/02/16 Python
Python爬取三国演义的实现方法
2016/09/12 Python
python好玩的项目—色情图片识别代码分享
2017/11/07 Python
Python3使用正则表达式爬取内涵段子示例
2018/04/22 Python
Python 日期的转换及计算的具体使用详解
2020/01/16 Python
Django操作session 的方法
2020/03/09 Python
HTML5中form如何关闭自动完成功能的方法
2018/07/02 HTML / CSS
公职人员索取回扣检举信
2014/04/04 职场文书
应届大专生自荐书
2014/06/16 职场文书
大学生简历求职信
2014/06/24 职场文书
建设幸福中国演讲稿
2014/09/11 职场文书
2014年群众路线教育实践活动整改措施
2014/09/24 职场文书
习近平在党的群众路线教育实践活动总结大会上的讲话全文
2014/10/25 职场文书
Python selenium的这三种等待方式一定要会!
2021/06/10 Python
Flask response响应的具体使用
2021/07/15 Python
Python常遇到的错误和异常
2021/11/02 Python