定义
BOM(Byte Order Mark),字节顺序标记,出现在文本文件头部,Unicode编码标准中用于标识文件是采用哪种格式的编码。它的编码是FEFF。

说明

在 UTF-8 文件中放置 BOM 主要是微软的习惯

UTF-8 不需要 BOM,尽管 Unicode 标准允许在 UTF-8 中使用 BOM。但不含 BOM 的 UTF-8 才是标准形式。UTF-8 的网页代码不应使用 BOM,否则常常会出错。

为什么BOM不受欢迎

主要问题出在UNIX那个所有脚本语言通行的首行#!标示,这东西依赖于shell解析,而很多shell出于兼容的考虑不检测BOM,所以加进BOM时shell会把它解释为某个普通字符输入导致解释失败。其实很多现代脚本语言,比如Python,其解释器本身都是能处理BOM的,但是shell卡在这里,没办法,只能躺着也中枪。说起来这也不能怪shell,因为BOM本身违反了一个UNIX设计的常见原则,就是文档中存在的数据必须可见。BOM不能作为可见字符被文本编辑器编辑,就这一条很多UNIX开发者就不满意。

Windows 记事本有个毛病就是在 UTF-8 文件开头加 BOM,所以在windows环境下千万不要用记事本来编辑UTF-8文件。

解决办法:可以用NotePad++ 或者 其它文本编辑软件转储为UTF-8 without BOM 格式

转载于:https://www.cnblogs.com/jddreams/p/9908714.html

关于Encode in UTF-8 without BOM相关推荐

  1. Python学习之路23-文本和字节序列

    <流畅的Python>笔记. 本篇主要讲述不同编码之间的转换问题,比较繁杂,如果平时处理文本不多,或者语言比较单一,没有多语言文本处理的需求,则可以略过此篇. 1. 前言 本篇主要讲述Py ...

  2. response setHeader 设置下载中文文件名乱码问题

    1. HTTP消息头 (1)通用信息头 即能用于请求消息中,也能用于响应信息中,但与被传输的实体内容没有关系的信息头,如Data,Pragma 主要: Cache-Control , Connecti ...

  3. response.setHeader()设置下载中文文件名乱码问题

    1. HTTP消息头 (1)通用信息头 即能用于请求消息中,也能用于响应信息中,但与被传输的实体内容没有关系的信息头,如Data,Pragma 主要: Cache-Control , Connecti ...

  4. 流畅的python读书笔记④:文本和字节序列

    人类使用文本,计算机使用字节序列. --Esther Nam 和 Travis Fischer "Character Encoding and Unicode in Python" ...

  5. ElasticSearch 知识点整理(入门)

    1:es介绍 Elasticsearch是一个基于Lucene的实时的分布式搜索和分析引擎.设计用于云计算中, 能够达到实时搜索,稳定,可靠,快速,安装使用方便.基于RESTful接口. 普通请求是. ...

  6. javaserver_如何在JavaServer Pages中使用Salesforce REST API

    javaserver 摘要:本教程提供了一个JSP示例以及如何将其与Salesforce REST API集成. 我们将逐步完成创建外部客户端以使用Force.com (同时使用HTTP(S)和JSO ...

  7. 如何在JavaServer Pages中使用Salesforce REST API

    摘要:本教程提供了一个JSP示例以及如何将其与Salesforce REST API集成. 我们将逐步完成创建外部客户端以使用Force.com (同时使用HTTP(S)和JSON)管理您的数据的分步 ...

  8. springMVC导出 CSV案例

    导出csv 第一步 Controller类里调用 OrderParamsVo 传入的参数 orderService.findBuyCSV 查询到要导出的信息 1 /** 2 * 购买订单CSV 3 * ...

  9. UTF8,Unicode 的区别(zt)

    UTF8并不算是一种电脑编码,而是一种储存和传送的格式,如前所述,每个Unicode/UCS字符都以 2或4个bytes来储存,看看以下的比较:    以"I am Chinese" ...

  10. 追本溯源:字符串及编码

    转载:https://zhuanlan.zhihu.com/p/73917931 开始 先考虑下边的问题. let s = "js" console.log(s.length) s ...

最新文章

  1. ODBC访问EXCEL
  2. LIVE555再学习 -- testRTSPClient 实例
  3. Android是否会因低价打败iPhone
  4. C++阶段01笔记03【运算符(算术运算符、赋值运算符、比较运算符、逻辑运算符)】
  5. [Java基础]Object类的常用方法
  6. 2016陕西省省赛 ACM Rui and her functions B 二分
  7. Wo Cloud CentOS 挂载磁盘小计
  8. a20隐藏底部按钮及隐藏状态栏和虚拟按键栏
  9. 9.3 LSMW程序创建操作手册 第5 6 7步
  10. Linux Shell高级技巧(三)
  11. 在JAVA中把JSON数据格式化输出到控制台
  12. FreeSwitch Lua编程接口(1)dialplan里的配置
  13. python类属性定义_Python中类的定义与使用
  14. html网页正确代码,html简单网页代码(html代码格式开头)
  15. 三. SECS/GEM封装库RapidSecs开发手记-SECS/GEM基础知识-1
  16. AAE 对抗自编码(一)
  17. Java问题排查系列--线上问题排查的方法/步骤
  18. 【python--爬虫】千图网高清背景图片
  19. 学校计算机机房解说词,学校会议室解说词.doc
  20. OpenStack------Placement组件部署

热门文章

  1. 拓端tecdat|基于R统计软件的三次样条和光滑样条模型数据拟合及预测
  2. 拓端tecdat|R语言对苏格兰独立民意调查的Meta分析
  3. linux c语言头文件 在另外的地方,linux下的c语言的头文件在windows下头文件是哪几个?...
  4. spring5.0学习笔记3
  5. 一文学会用 Tensorflow 搭建神经网络
  6. grep命令--文件过滤分割与合并
  7. leetcode——给定一个整数数组和一个目标值返回两个数字对应的索引,使得这两个数字之和等于目标值
  8. 深度学习中的batch,iteration,epoch复习总结
  9. driver nvidia web_黑苹果 macOS 10.13.6 17G66 安装 nVidia WebDriver
  10. xuperchain 查看源码代码版本号