今天开发遇到一个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. get方式中文乱码问题

    <a target="_blank" href="ftpFileAction!downloadFile.action?filename=测试.xml"&g ...

  2. OC基础12:数字、字符串和集合1

    "OC基础"这个分类的文章是我在自学Stephen G.Kochan的<Objective-C程序设计第6版>过程中的笔记. 1.有时要将一些数字数据类型的值当做对象来 ...

  3. mysql基础:mysql与C结合实例

    一个简单的mysql与C的交互,使用了一些mysql的C API! 老鸟掠过,新手能够看看! /****************************************** 本文件学习mysq ...

  4. 后台特殊字符处理,ajax

    Dictionary<string, string> d = new Dictionary<string, string>(); d.Add("price" ...

  5. 从Ecma规范深入理解js中的this的指向

    this是面向对象编程中的一个概念,它一般指向当前方法调用所在的对象,这一点在java.c++这类比较严格的面向对象编程语言里是非常明确的.但是在javascript中,this的定义要灵活许多,如果 ...

  6. Zepto.js touch模块深入分析 解决手机点击事件

    源码: // Zepto.js // (c) 2010-2015 Thomas Fuchs // Zepto.js may be freely distributed under the MIT li ...

  7. struts2 s:textfield

    初学struts2,在头脑中一直在想一个问题,就是对于struts2 ,当应用其自身的标签时,例如: <s:form> <s:textfield name="a" ...

  8. uiwebview 播放视频

    先吐槽下 昨天为了做一个链接优酷的视频难死我了  最后找到一个解决办法 就是uiwebview 播放视频,但是问题又出来了  怎么监听视频开始播放呢??? 我从百度着了4个小时 最后无功而返  最后我 ...

  9. char varchar varchar2 的区别 (转)

    char varchar varchar2 的区别       http://blog.csdn.net/honglei_zh/article/details/7172538区别:1.CHAR的长度是 ...

  10. C++容器在遍历时的删除问题

    容器是非常便捷常用的,经常用容器来存储多条数据,然后对数据进行增删查改. 有时要在遍历的同时删除一条数据,但是这样删除的时候程序会导致程序崩溃. 这个问题在GCC 中不会出现,而在VS2008,VS2 ...