问题标签 [byte-order-mark]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1995 浏览

php - PHP文件下载后不可读

您好我有一个脚本可以创建一个文件并将其存储在服务器上。该文件采用 UTF-8 编码,是 cmap 软件的一种 xml 文件。

如果我直接从服务器打开文件,那么没有问题并且可以读取文件。

当用户转到特定网址时,我强制下载此文件。下载后,cmap 软件无法读取该文件。我必须进入我的文本编辑器(记事本++)并将编码从 UTF-8 更改为没有 BOM 的 UTF-8。

我是否发送了错误的标题?php 在下载文件时是否对文件进行了处理?

对此的任何建议将不胜感激。

干杯德鲁

编辑

抱歉,有很多代码涉及到几个不同的类。我已经包含了用于将文件发送到浏览器的代码:

如果需要生成 xml(使用 XMLWriter)的代码,我也可以发布它。

编辑

这里要求的是生成 xml 的代码 - 它在另一个类中:

0 投票
1 回答
6646 浏览

python - Ascii 文件中的 Python BOM 错误

我对 Python 2.6 有一个奇怪而烦人的问题。我试图在我的嵌入式 Linux ARM 板上运行这个文件(和另一个)。 http://svn.tuxisalive.com/software_suite_v3/smart-core/smart-server/trunk/TDSService.py

我收到此错误:

文件“tuxhttpserver.py”,第 1 行 SyntaxError:编码问题:使用 BOM

我知道错误与 BOM 字节等有关。但是,没有 BOM 字节,它是纯 Ascii。我用Hexeditor检查过,linux文件命令说它的Ascii。

我吓坏了……代码在我的 Sheevaplug(也是基于 ARM 的系统)上运行良好。

0 投票
1 回答
12639 浏览

eclipse - 在 Eclipse 中处理 utf-8 文件

很直接的问题。有没有办法将 Eclipse 配置为使用带有和不带有 BOM 的 utf-8 编码的文本文件?

到目前为止,我已经将 Eclipse 与 utf-8 编码一起使用并且它可以工作,但是当我尝试编辑由另一个包含 BOM 的编辑器生成的文件时,Eclipse 无法正确处理它,它在文件的开头(BOM)。有没有办法让 Eclipse 理解带有 BOM 的 utf-8 编码文件?

0 投票
2 回答
1302 浏览

php - 对 mootools xmlhttprequest 的 php 响应中的 UTF-8 BOM

我正在编写我的第一个启用 AJAX 的小型 Joomla 组件。我正在使用mootools。我有一个 xmlhttprequest 来联系我的 Joomla 组件,该组件返回一个响应——只是由 php 回显的纯文本,比如

一切正常,除了wireshark告诉我,当客户端的javascript读取响应时,它会以\357\273\277\357\273\277开头。这在脚本显示的警告框中显示为响应之前的一个小方块。

我没有在 xmlhttprequest 上明确设置编码;mootools 文档说它默认为 UTF8。

处理这个问题的正确方法是什么?我应该在请求上设置编码吗?哑剧类型?javascript应该摆脱它吗?我不打算在响应中包含任何需要 UTF8 的字符,所以使用普通的旧 ascii 对我来说也可以。

谢谢

0 投票
5 回答
12891 浏览

c# - XmlReader 在 UTF-8 BOM 上中断

我的应用程序中有以下 XML 解析代码:

我正在使用它将发送到我的 WCF 服务的字符串解析为 XML 文档,以进行自定义反序列化。

当我读入文件并通过网络发送它们(请求)时,它工作正常;我已验证 BOM 未发送。在我的请求处理程序中,我正在序列化一个响应对象并将其作为字符串发送回来。序列化过程会在字符串的前面添加一个 UTF-8 BOM,这会导致解析响应时相同的代码中断。

在我过去一个小时左右所做的研究中,XmlReader 似乎应该遵守 BOM。如果我从字符串的前面手动删除 BOM,则响应 xml 解析得很好。

我是否遗漏了一些明显的东西,或者至少是一些阴险的东西?

编辑:这是我用来返回响应的序列化代码:

如果这只是 xml 错误地包含 BOM 的问题,那么我将切换到

但从我的研究中根本不清楚 BOM 在实际的 XML 字符串中是非法的;参见例如c# Detect xml encoding from Byte Array?

0 投票
2 回答
801 浏览

c++ - 向工具链添加自定义工具以在编译前删除 UTF-8 BOM

我的问题是在 Code::Blocks 及其调整版本的 MinGW 和 Notepad++ 的上下文中。

我希望能够在我的源代码中包含 Unicode 文字,而且我可以,只要我使用 UTF-8 而不是使用 BOM。

这在一定程度上可以正常工作,但是每当我重新打开文件时,它就会出现 BOM(坏双关语);它(毫不奇怪)具有以 ANSI 形式显示 Unicode 的令人不安的副作用。:(

那些非常有用但又非常烦人的三个字节必须在那里,然后它们必须离开!(在编译时)。

听起来很简单,只需预处理源文件,然后丢弃前三个字节(如果它们是 UTF-8 BOM)...

我肯定不会在每次编译时都成为处理器(通过手动删除),所以我什至对这些文字使用了无 BOM 的#include 文件,但这从几个角度来看都是有问题的,尤其是那就是谚语中的痛苦,我无法“看到”它们!..没有很多杂耍。

有什么方法可以使用自定义预处理器进入工具链?...或者如果我错过了一些明显的解决方案,我将非常感谢听到它。

0 投票
7 回答
47738 浏览

utf-8 - 将 BOM 添加到 UTF-8 文件

我正在搜索(没有成功)一个脚本,它可以作为一个批处理文件工作,如果没有 BOM,我可以在 UTF-8 文本文件之前添加一个 BOM。

它所用的语言(perl、python、c、bash)和它所运行的操作系统对我来说都不重要。我可以使用各种计算机。

我发现很多脚本可以做相反的事情(剥离 BOM),这听起来有点傻,因为许多 Windows 程序如果没有 BOM 将无法读取 UTF-8 文本文件。

我错过了显而易见的事情吗?

谢谢!

0 投票
4 回答
10567 浏览

php -  编码问题

我正在使用 PHP 开发一个网站,这些奇怪的字符“”出现在我的页面上,就在它的顶部。我的代码是这样的:

但是当我在浏览器中看到源代码时,它会显示:

我不知道是否与我正在使用的编码有任何关系,因为当我将字符集更改为charset=utf-8它时它会消失但我必须使用 iso-8859-1

0 投票
23 回答
224965 浏览

php - 如何从文件开头删除?

我有一个 CSS 文件,当我使用gedit打开它时看起来不错,但是当它被 PHP 读取时(将所有 CSS 文件合并为一个),这个 CSS 前面有以下字符:

PHP 会删除所有空格,因此代码中间的随机  会搞乱整个事情。正如我所提到的,当我在 gedit 中打开文件时,我实际上看不到这些字符,所以我不能很容易地删除它们。

我用谷歌搜索了这个问题,文件编码显然有问题,这是有道理的,因为我一直在通过 ftp 和rsync使用一系列文本编辑器将文件转移到不同的 Linux/Windows 服务器。不过,我对字符编码知之甚少,因此将不胜感激。

如果有帮助,文件将以 UTF-8 格式保存,而 gedit 不允许我将其保存为 ISO-8859-15 格式(文档包含一个或多个无法使用指定字符编码进行编码的字符)。我尝试使用 Windows 和 Linux 行结尾保存它,但都没有帮助。

0 投票
1 回答
545 浏览

xml - SSRS XML 导出 - 删除 BOM

我使用 SSRS 使用 XSLT 生成 XML 文件。一切都很好,除了 XML 文件以我需要删除的字母“EF BB BF”开头。没有它如何生成 XML 文件?