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 常用类整理
Dec 23 PHP
关于初学PHP时的知识积累总结
Jun 07 PHP
DOM XPATH获取img src值的query
Sep 23 PHP
PHP基于数组实现的分页函数实例
Aug 20 PHP
php实现图片文件与下载文件防盗链的方法
Nov 03 PHP
php使用Cookie控制访问授权的方法
Jan 21 PHP
php计算2个日期的差值函数分享
Feb 02 PHP
php生成唯一的订单函数分享
Feb 02 PHP
PHP上传图片时判断上传文件是否为可用图片的方法
Oct 20 PHP
Fleaphp常见函数功能与用法示例
Nov 15 PHP
php5.x禁用eval的操作方法
Oct 19 PHP
PHP XML Expat解析器知识点总结
Feb 15 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/25 PHP
使用php计算排列组合的方法
2013/11/13 PHP
PHP简单的MVC框架实现方法
2015/12/01 PHP
一段多浏览器的"复制到剪贴板"javascript代码
2007/03/27 Javascript
JavaScript获取FCK编辑器信息的具体方法
2013/07/12 Javascript
node.js中Socket.IO的进阶使用技巧
2014/11/04 Javascript
JavaScript中Number.NEGATIVE_INFINITY值的使用详解
2015/06/05 Javascript
完美实现八种js焦点轮播图(上篇)
2016/07/18 Javascript
JavaScript实现经典排序算法之插入排序
2016/12/28 Javascript
详解Vue2.0之去掉组件click事件的native修饰
2017/04/20 Javascript
分享Bootstrap简单表格、表单、登录页面
2017/08/04 Javascript
解决VUE中document.body.scrollTop为0的问题
2018/09/15 Javascript
Openlayers显示地理位置坐标的方法
2020/09/28 Javascript
用python登录Dr.com思路以及代码分享
2014/06/25 Python
Python实现的一个找零钱的小程序代码分享
2014/08/25 Python
Python中使用PIPE操作Linux管道
2015/02/04 Python
python框架django基础指南
2016/09/08 Python
基于python爬虫数据处理(详解)
2017/06/10 Python
Python实现翻转数组功能示例
2018/01/12 Python
Python获取当前函数名称方法实例分享
2018/01/18 Python
Python 16进制与中文相互转换的实现方法
2018/07/09 Python
Python数据结构之栈、队列及二叉树定义与用法浅析
2018/12/27 Python
Python统计一个字符串中每个字符出现了多少次的方法【字符串转换为列表再统计】
2019/05/05 Python
python实现将json多行数据传入到mysql中使用
2019/12/31 Python
python将logging模块封装成单独模块并实现动态切换Level方式
2020/05/12 Python
python 如何对logging日志封装
2020/12/02 Python
纯HTML+CSS3制作导航菜单(附源码)
2013/04/24 HTML / CSS
洛杉矶时尚女装系列:J.ING US
2019/03/17 全球购物
JAVA中运算符的分类及举例
2015/09/12 面试题
班主任个人工作反思
2014/04/28 职场文书
机电系毕业生求职信
2014/07/11 职场文书
公安机关查摆剖析材料
2014/10/10 职场文书
优秀共青团员事迹材料
2014/12/25 职场文书
公司考勤管理制度
2015/08/04 职场文书
Django实现drf搜索过滤和排序过滤
2021/06/21 Python
pytest实现多进程与多线程运行超好用的插件
2022/07/15 Python