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 相关文章推荐
用ADODB来让PHP操作ACCESS数据库的方法
Dec 31 PHP
数组与类使用PHP的可变变量名需要的注意的问题
Jun 20 PHP
Zend studio文件注释模板设置方法
Sep 29 PHP
PHP实现删除非站内外部链接实例代码
Jun 17 PHP
PHP读取CURL模拟登录时生成Cookie文件的方法
Nov 04 PHP
php中call_user_func函数使用注意事项
Nov 21 PHP
PHP中让curl支持sock5的代码实例
Jan 21 PHP
php使用cookie实现记住用户名和密码实现代码
Apr 27 PHP
php 修改上传文件大小限制实例详解
Oct 23 PHP
超强多功能php绿色集成环境详解
Jan 25 PHP
ThinkPHP模板标签eq if 中区分0,null,false的方法
Mar 24 PHP
一个实用的php验证码类
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
一个用mysql_odbc和php写的serach数据库程序
2006/10/09 PHP
基于ThinkPHP+uploadify+upload+PHPExcel 无刷新导入数据
2015/09/23 PHP
PHP对XML内容进行修改和删除实例代码
2016/10/26 PHP
php实现基于PDO的预处理示例
2017/03/28 PHP
PHP检查端口是否可以被绑定的方法示例
2018/08/09 PHP
详解在YII2框架中使用UEditor编辑器发布文章
2018/11/02 PHP
PHP如何防止XSS攻击与XSS攻击原理的讲解
2019/03/22 PHP
javascript 多浏览器 事件大全
2010/03/23 Javascript
javascript getElementsByTagName
2011/01/31 Javascript
JQuery 中几个类选择器的简单使用介绍
2013/03/14 Javascript
angularjs指令中的compile与link函数详解
2014/12/06 Javascript
AngularJS+Node.js实现在线聊天室
2015/08/28 Javascript
使用bootstrap实现多窗口和拖动效果
2016/09/22 Javascript
JS中解决谷歌浏览器记住密码输入框颜色改变功能
2017/02/13 Javascript
JavaScript中最常见的三个面试题解析
2017/03/04 Javascript
Vue 中的受控与非受控组件的实现
2018/12/17 Javascript
vue双向绑定数据限制长度的方法
2019/11/04 Javascript
Vue解决echart在element的tab切换时显示不正确问题
2020/08/03 Javascript
对python中的xlsxwriter库简单分析
2018/05/04 Python
Python 编码规范(Google Python Style Guide)
2018/05/05 Python
TensorFlow Session使用的两种方法小结
2018/07/30 Python
python求最大值最小值方法总结
2019/06/25 Python
python科学计算之narray对象用法
2019/11/25 Python
浅析CSS3中鲜为人知的属性:-webkit-tap-highlight-color
2017/01/12 HTML / CSS
详解HTML5中download属性的应用
2015/08/06 HTML / CSS
Lookfantastic希腊官网:英国知名美妆购物网站
2018/09/15 全球购物
意大利在线购买隐形眼镜网站:VisionDirect.it
2019/03/18 全球购物
AVI-8手表美国官方商店:AVI-8 USA
2019/04/10 全球购物
跟单文员的岗位职责
2013/11/14 职场文书
专科文秘应届生求职信
2013/11/18 职场文书
北京大学自荐信范文
2014/01/28 职场文书
党员作风建设自查报告
2014/10/23 职场文书
道路交通事故赔偿协议书
2014/10/24 职场文书
高中历史教学反思
2016/02/19 职场文书
canvas绘制折线路径动画实现
2021/05/12 Javascript
Win11怎么修改电源模式?Win11修改电源模式的方法
2022/04/05 数码科技