关于Encode in UTF-8 without BOM
定义
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相关推荐
- Python学习之路23-文本和字节序列
<流畅的Python>笔记. 本篇主要讲述不同编码之间的转换问题,比较繁杂,如果平时处理文本不多,或者语言比较单一,没有多语言文本处理的需求,则可以略过此篇. 1. 前言 本篇主要讲述Py ...
- response setHeader 设置下载中文文件名乱码问题
1. HTTP消息头 (1)通用信息头 即能用于请求消息中,也能用于响应信息中,但与被传输的实体内容没有关系的信息头,如Data,Pragma 主要: Cache-Control , Connecti ...
- response.setHeader()设置下载中文文件名乱码问题
1. HTTP消息头 (1)通用信息头 即能用于请求消息中,也能用于响应信息中,但与被传输的实体内容没有关系的信息头,如Data,Pragma 主要: Cache-Control , Connecti ...
- 流畅的python读书笔记④:文本和字节序列
人类使用文本,计算机使用字节序列. --Esther Nam 和 Travis Fischer "Character Encoding and Unicode in Python" ...
- ElasticSearch 知识点整理(入门)
1:es介绍 Elasticsearch是一个基于Lucene的实时的分布式搜索和分析引擎.设计用于云计算中, 能够达到实时搜索,稳定,可靠,快速,安装使用方便.基于RESTful接口. 普通请求是. ...
- javaserver_如何在JavaServer Pages中使用Salesforce REST API
javaserver 摘要:本教程提供了一个JSP示例以及如何将其与Salesforce REST API集成. 我们将逐步完成创建外部客户端以使用Force.com (同时使用HTTP(S)和JSO ...
- 如何在JavaServer Pages中使用Salesforce REST API
摘要:本教程提供了一个JSP示例以及如何将其与Salesforce REST API集成. 我们将逐步完成创建外部客户端以使用Force.com (同时使用HTTP(S)和JSON)管理您的数据的分步 ...
- springMVC导出 CSV案例
导出csv 第一步 Controller类里调用 OrderParamsVo 传入的参数 orderService.findBuyCSV 查询到要导出的信息 1 /** 2 * 购买订单CSV 3 * ...
- UTF8,Unicode 的区别(zt)
UTF8并不算是一种电脑编码,而是一种储存和传送的格式,如前所述,每个Unicode/UCS字符都以 2或4个bytes来储存,看看以下的比较: 以"I am Chinese" ...
- 追本溯源:字符串及编码
转载:https://zhuanlan.zhihu.com/p/73917931 开始 先考虑下边的问题. let s = "js" console.log(s.length) s ...
最新文章
- ODBC访问EXCEL
- LIVE555再学习 -- testRTSPClient 实例
- Android是否会因低价打败iPhone
- C++阶段01笔记03【运算符(算术运算符、赋值运算符、比较运算符、逻辑运算符)】
- [Java基础]Object类的常用方法
- 2016陕西省省赛 ACM Rui and her functions B 二分
- Wo Cloud CentOS 挂载磁盘小计
- a20隐藏底部按钮及隐藏状态栏和虚拟按键栏
- 9.3 LSMW程序创建操作手册 第5 6 7步
- Linux Shell高级技巧(三)
- 在JAVA中把JSON数据格式化输出到控制台
- FreeSwitch Lua编程接口(1)dialplan里的配置
- python类属性定义_Python中类的定义与使用
- html网页正确代码,html简单网页代码(html代码格式开头)
- 三.	SECS/GEM封装库RapidSecs开发手记-SECS/GEM基础知识-1
- AAE 对抗自编码(一)
- Java问题排查系列--线上问题排查的方法/步骤
- 【python--爬虫】千图网高清背景图片
- 学校计算机机房解说词,学校会议室解说词.doc
- OpenStack------Placement组件部署
热门文章
- 拓端tecdat|基于R统计软件的三次样条和光滑样条模型数据拟合及预测
- 拓端tecdat|R语言对苏格兰独立民意调查的Meta分析
- linux c语言头文件 在另外的地方,linux下的c语言的头文件在windows下头文件是哪几个?...
- spring5.0学习笔记3
- 一文学会用 Tensorflow 搭建神经网络
- grep命令--文件过滤分割与合并
- leetcode——给定一个整数数组和一个目标值返回两个数字对应的索引,使得这两个数字之和等于目标值
- 深度学习中的batch,iteration,epoch复习总结
- driver nvidia web_黑苹果 macOS 10.13.6 17G66 安装 nVidia WebDriver
- xuperchain 查看源码代码版本号