今天开发遇到一个php curl取数据乱码问题

不是gzip也不是编码设置问题

最后有一同事判断为utf8+bom保存数据原因,懒得深入了解utf8+bom,仅做记录

[root@centos5 ~]# curl -s http://phone.10086.cn/ | head -1 | hexdump -C
ef bb bf 3c 4f 6d |...<!DOCTYPE htm|
6c 4c 2d 2f 2f |l PUBLIC "-//W3C|
2f 2f 4d 4c 2e |//DTD XHTML 1.0 |
6e 6f 6e 6c 2f 2f 4e |Transitional//EN|
3a 2f 2f 2e |" "http://www.w3|
2e 6f 2f 2f 6d 6c 2f |.org/TR/xhtml1/D|
2f 6d 6c 2d 6e |TD/xhtml1-transi|
6f 6e 6c 2e 3e 0d 0a |tional.dtd">..|
0000007e
[root@centos5 ~]# curl -s http://www.test.com/pay1/notify_url | head -1 | hexdump -C
ef bb bf |...|
00000004
##这个就是utf8+bom后取得的数据,多了一个头
[root@centos5 ~]# curl -s http://www.test.com/ | head -1 | hexdump -C
ef bb bf 3c 4f 6d |...<!DOCTYPE htm|
6c 4c 2d 2f 2f |l PUBLIC "-//W3C|
2f 2f 4d 4c 2e |//DTD XHTML 1.0 |
6e 6f 6e 6c 2f 2f 4e |Transitional//EN|
3a 2f 2f 2e |" "http://www.w3|
2e 6f 2f 2f 6d 6c 2f |.org/TR/xhtml1/D|
2f 6d 6c 2d 6e |TD/xhtml1-transi|
6f 6e 6c 2e 3e 0d 0a |tional.dtd">..|

从curl转hexdump格式后看,正常的utf8是以|...<!DOCTYPE htm|开头

utf8+bom保存的文件curl得出的是

00000000  ef bb bf 31                                       |...1|

备忘

详细参考地址:http://huoding.com/2011/05/14/78

最后当然是让对方技术人员将文件转成utf8保存即解决问题

utf8+bom格式保存php curl乱码问题的更多相关文章

  1. UTF-8 BOM对PHP的影响

    今天在用notepad++写代码时 载入一个frameset框架模版后 在页面上一直不显示该页面,查看源码后都正常.然后索性把里面东西全删掉 随便写了几个测试文字可以正常显示. 折腾了好长时间,最后偶 ...

  2. 设置Delphi默认按utf8格式保存单元文件

    Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Embarcadero\BDS\19.0\Editor] " ...

  3. 今天被坑了,而且被坑的好爽! 该死的UTF-8 有 BOM 格式编码

    调一个项目,最后无法登录了. 排查到最后发现是cookie无法保存会话ID, 工作两年的经验这时候没用上. 开始一以为是PHP.ini的配置错了. 考虑过域名,浏览器问题. 脚本BUG. 最后最后一步 ...

  4. 解决ZendStudio打开utf-8格式的php文件乱码

    一般php文件都为utf-8无BOM格式的,用zendstudio默认设置打开时中文会产生乱码,这是因为zendstudio默认设置编码格式为GBK格式,所以我们这里需要重新设置其编码格式,这个是ze ...

  5. UTF-8 BOM头

    BOM是什么 Unicode的学名是"Universal Multiple-Octet Coded Character Set",简称为UCS.UCS可以看作是"Unic ...

  6. java utf8字符 导出csv 文件的乱码问题。

    在输出的格式为UTF-8的格式,但是打开CSV文件一直为乱码,后来参考了这里的代码,搞定了乱码问题,原文请参考:http://hbase.iteye.com/blog/1172200 private ...

  7. php 导出excle的.csv格式的数据时乱码问题

    1.header('Content-Encoding: XXXX'); 有可能是编码问题:可以尝试UTF-8,GBK,GB2312,等编码格式 2.有可能是文件编码问题,虽然UTF-8不建议带BOM, ...

  8. UTF-8 BOM(EF BB BF)

    原标题:link标签和script标签跑到body下面,网页顶部有空白,出现“锘匡豢”乱码,UTF-8 BOM,EF BB BF 来自:http://tunps.com/link-and-script ...

  9. python3 库pandas写入csv格式文件出现中文乱码问题解决方法

    python3 库pandas写入csv格式文件出现中文乱码问题解决方法 解决方案: 问题是使用pandas的DataFrame的to_csv方法实现csv文件输出,但是遇到中文乱码问题,已验证的正确 ...

随机推荐

  1. Zepto,Zepto API 中文版,Zepto 中文手册,Zepto API,Zepto API 中文版,Zepto 中文手册,Zepto API 1.0, Zepto API 1.0 中文版,Zepto 1.0 中文手册,Zepto 1.0 API-translate by yaotaiyang

    Zepto,Zepto API 中文版,Zepto 中文手册,Zepto API,Zepto API 中文版,Zepto 中文手册,Zepto API 1.0, Zepto API 1.0 中文版,Z ...

  2. BZOJ 3648: 寝室管理( 点分治 + 树状数组 )

    1棵树的话, 点分治+你喜欢的数据结构(树状数组/线段树/平衡树)就可以秒掉, O(N log^2 N). 假如是环套树, 先去掉环上1条边, 然后O(N log^2 N)处理树(同上); 然后再O( ...

  3. Android 弹出窗体

    findViewById(R.id.btn).setOnClickListener(new OnClickListener() { @Override public void onClick(View ...

  4. jquery easyui filebox 上传附件 + asp.net后台

    form必须加这个属性enctype="multipart/form-data",否则后台获取不到文件 <script> function uploadFiles() ...

  5. 【原】从一个bug浅谈YUI3组件的资源加载

    篇前声明:为了不涉及业务细节,篇内信息统一以某游戏,某功能代替 前不久,某游戏准备内测客户端,开发人员测试过程中发现某功能突然不灵了,之前的测试一切ok,没有发现任何异常,第一反应是,游戏内浏览器都是 ...

  6. NoSQL的价值到底在哪里?

    关系型数据库的价值 持久化数据:通过数据库来保存数据 处理并发:通过事务方式处理并发 集成:共享数据库集成,多个应用程序可以同时访问同一份数据 标准模型:前几种功能已经成标准,开发人员学习成本低,虽然 ...

  7. javascript 数据结构和算法读书笔记 > 第一章 javascript的编程环境和模型

    1.变量的声明和初始化 必须使用关键字 var,后跟变量名,后面还可以跟一个赋值表达式. var name; var age = 5; var str = 'hello'; var flg = fal ...

  8. JavaScript学习笔记(三)this关键字

    this是Javascript的关键字,代表在函数运行时,自动生成一个内部对象,只能在函数内部使用.例如: function test() { this.x = 1; } 随着函数的使用场合不同,th ...

  9. linux----suid\sgid

    1.suid和sgid 都是针对二进制程序来说了,bash脚本不在它的作用范围. 2.如果一个二进制文件设置有suid,那么在userA用户执行它时,会以文件所属用户的身份来执行.sgid同理: 3. ...

  10. jQuery学习-事件之绑定事件(七)

    今天来说说事件中的handlers方法中的一个片段  1 matches[ sel ] = handleObj.needsContext ?  2     jQuery( sel, this ).in ...