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 相关文章推荐
PHP开发文件系统实例讲解
Oct 09 PHP
一个高ai的分页函数和一个url函数
Oct 09 PHP
PHP执行linux系统命令的常用函数使用说明
Apr 27 PHP
PHP 自定义错误处理函数trigger_error()
Mar 26 PHP
PHP中的str_repeat函数在JavaScript中的实现
Sep 16 PHP
使用php显示搜索引擎来的关键词
Feb 13 PHP
php中stream(流)的用法
Mar 25 PHP
php强制文件下载而非在浏览器打开的自定义函数分享
May 08 PHP
php实现window平台的checkdnsrr函数
May 27 PHP
PHP操作mysql数据库分表的方法
Jun 09 PHP
ThinkPHP和UCenter接口冲突的解决方法
Jul 25 PHP
php简单实现多维数组排序的方法
Sep 30 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
同时提取多条新闻中的文本一例
2006/10/09 PHP
PHP实现域名whois查询的代码(数据源万网、新网)
2010/02/22 PHP
基于Linux调试工具strace与gdb的常用命令总结
2013/06/03 PHP
轻松掌握php设计模式之访问者模式
2016/09/23 PHP
js获取dom的高度和宽度(可见区域及部分等等)
2013/06/13 Javascript
jQuery中queue()方法用法实例
2014/12/29 Javascript
JavaScript实现按照指定长度为数字前面补零输出的方法
2015/03/19 Javascript
Jquery效果大全之制作电脑健康体检得分特效附源码下载
2015/11/02 Javascript
解析AngularJS中get请求URL出现的跨域问题
2016/12/01 Javascript
JavaScript使用链式方法封装jQuery中CSS()方法示例
2017/04/07 jQuery
jquery 校验中国身份证号码实例详解
2017/04/11 jQuery
JS实现页面内跳转的简单代码
2017/09/03 Javascript
在react中使用vuex的示例代码
2018/07/30 Javascript
详解Ant Design of React的安装和使用方法
2018/12/27 Javascript
详解使用Nuxt.js快速搭建服务端渲染(SSR)应用
2019/03/13 Javascript
教你完全理解ReentrantLock重入锁
2019/06/03 Javascript
原生js实现随机点餐效果
2019/12/10 Javascript
小程序实现点击tab切换左右滑动
2020/11/16 Javascript
python密码错误三次锁定(实例讲解)
2017/11/14 Python
python输入错误密码用户锁定实现方法
2017/11/27 Python
tensorflow: variable的值与variable.read_value()的值区别详解
2018/07/30 Python
使用Python刷淘宝喵币(低阶入门版)
2019/10/30 Python
python中的线程threading.Thread()使用详解
2019/12/17 Python
《中彩那天》教学反思
2014/02/22 职场文书
节能减排倡议书
2014/04/15 职场文书
教师学习三严三实心得体会
2014/10/13 职场文书
党的群众路线教育实践活动个人对照检查材料(公安)
2014/11/05 职场文书
2014年师德师风工作总结
2014/11/25 职场文书
小学生交通安全寄语
2015/02/27 职场文书
公司开除员工通知
2015/04/22 职场文书
党内外群众意见范文
2015/06/02 职场文书
结婚典礼致辞
2015/07/28 职场文书
公司财务管理制度
2015/08/04 职场文书
小学生大队委竞选稿
2015/11/20 职场文书
Python实现生成bmp图像的方法
2021/06/13 Python
国庆节到了,利用JS实现一个生成国庆风头像的小工具 详解实现过程
2021/10/05 Javascript