问题标签 [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 投票
2 回答
1291 浏览

svn - SVN diff 命令 - 忽略 BOM

我正在使用 SVN 来提交 windows 和 linux 中的更改,但是当我想在某些情况下提交更改时,会从文件中添加/删除 BOM 字符。我希望 SVN 的差异会忽略 BOM 的这些更改,并且只显示我更改的文件。你知道会忽略 BOM 字符的 diff 命令吗?

谢谢。

0 投票
3 回答
6295 浏览

java - 为什么 org.apache.xerces.parsers.SAXParser 不跳过 utf8 编码的 xml 中的 BOM?

我有一个带有 utf8 编码的 xml。而这个文件包含BOM一个开头的文件。因此,在解析过程中,我遇到了 org.xml.sax.SAXParseException: Content is not allowed in prolog。我无法从文件中删除这 3 个字节。我无法将文件加载到内存中并在此处删除它们(文件很大)。因此,出于性能原因,我正在使用 SAX 解析器,如果它们出现在“”标记之前,则只想跳过这 3 个字节。我应该为此继承 InputStreamReader 吗?

我是java新手-请告诉我正确的方法。

0 投票
12 回答
100364 浏览

visual-studio-2010 - 无 BOM 的 UTF-8

我有 javascript 文件,我需要将它们保存为 UTF-8(没有 BOM),每次我在Notepad++中将它们转换为正确的格式时,当我在 Visual Studio 中打开它们时,它们就会恢复为带有 BOM 的 UTF-8。我怎样才能阻止 VS2010 这样做?

另一个问题,Visual Studio 中没有签名的 UTF-8 是否与没有 BOM 的 UTF-8 相同?

0 投票
1 回答
604 浏览

php - 字节顺序标记问题

我的 php 文件顶部的字节顺序标记有问题。就像 - 。为此,显示了一个 php 警告。我已经删除了两次文本。但它不断出现。我的文件是这样开始的 -

'header.php' 是这样的 -

我该如何解决这个问题?

0 投票
17 回答
328008 浏览

encoding - 使用 PowerShell 在没有 BOM 的情况下以 UTF-8 编写文件

Out-File似乎在使用 UTF-8 时强制使用 BOM:

如何使用 PowerShell 以 UTF-8 编写没有 BOM 的文件?

2021 年更新

自从我 10 年前写这个问题以来,PowerShell 发生了一些变化。检查下面的多个答案,他们有很多很好的信息!

0 投票
1 回答
49176 浏览

php - 在 PHP 中使用 BOM 将字符串编码为 UTF-8

使用 utf8_encode 时如何强制 PHP 添加 BOM?

这是我想做的事情:

不幸的是(对我而言),结果开头不会有 BOM 标记。

0 投票
2 回答
2713 浏览

php - PHP 或 Apache 是否影响 DTD:在 IE7 标准模式下呈现 XHTML 的问题

我有一个带有 DOCTYPE 下面的静态 HTML(index.html),它将触发 IE7 中的标准模式:

然后我将页面转换为三个 PHP HTML 模板:header.html.php、index.php、footer.html.php。并且 header.html.php 包含上面的确切 DOCTYPE。

但是每次我在 IE7 中声明 index.php 时,它都会打乱渲染。

我已经使用该命令javascript:alert(document.compatMode)在 IE7 和 FF3 中进行了测试

对于静态html页面,IE7和FF3都给我CSS1Compat,是我期待的模式;但是对于 PHP 生成的页面,FF3 给我 CSS1Compat,而 IE7 给我 BackCompat。

这是我认为问题所在: 我从 IE7 下载了页面,发现 DOCTYPE 变成<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">了没有地址。

但是在ff3和chrome中下载相同的PHP生成页面,DOCTYPE是正确的<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

当我测试页面时,毫不奇怪,W3C 验证器获取的源代码的第一行是# <!-- A customized tag to distinguish different pages --> # <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

W3C 验证指示空的第一行。

我已经删除了所有静态 PHP 文件和 CSS 文件的 BOM,但我仍然遇到问题。

这是 Apache 还是 PHP 的问题?有人有解决这个问题的线索吗?

谢谢。

0 投票
3 回答
2973 浏览

java - 如何在不使用 BOM 并以非 ASCII 字符开头的情况下识别文件的不同编码?

在尝试识别没有 BOM 的文件的编码时遇到问题,特别是当文件以非 ascii 字符开头时。

我发现了以下两个关于如何识别文件编码的主题,

目前,我创建了一个类来识别文件的不同编码(例如 UTF-8、UTF-16、UTF-32、UTF-16 no BOM 等),如下所示,

}

上面的代码在所有情况下都可以正常工作,除非文件没有 BOM 并且以非 ascii 字符开头。由于在这种情况下,检查文件是否仍然是 UTF-16 而没有 BOM 的逻辑将无法正常工作,编码将默认设置为 UTF-8。

如果有一种方法可以检查没有 BOM 的文件的编码并以非 ascii 字符开头,尤其是对于 UTF-16 NO BOM 文件?

谢谢,任何想法将不胜感激。

0 投票
1 回答
1185 浏览

.net - WebClient.UploadString 方法不发出 BOM。为什么?

以下代码的目的是通过 HTTP 发布以字节顺序标记 (BOM) 开头的数据。

但是,根据提琴手的说法,请求正文的开头没有 BOM。即使我使用UnicodeEncoding而不是UTF8Encoding.

所以问题是,我做错了什么?

注意:我知道我可以通过WebClient.UploadData结合使用Encoding.GetPreamble方法来绕过这个问题,但是我想知道为什么UploadString不能按预期工作。

0 投票
1 回答
1439 浏览

android - 某些阿拉伯语文本显示不正确,而其他阿拉伯语文本正常显示?

我正在开发一个包含阿拉伯语文本的应用程序。我的手机支持阿拉伯语,因此文本可以正确显示。奇怪的问题是:如果我从 a.txt 文件中复制我想要的阿拉伯语文本并将其放入EditText,EditText 显示奇​​怪的字符,但如果我手动编写相同的文本(不是复制粘贴),文本会正常显示!
这是一张显示我的意思的图片,第一个 EditText 是我手动编写的文本,第二个是我从 .txt 文件中复制粘贴的文本。
在此处输入图像描述

这是应用程序的代码:
在此处输入图像描述

xml文件:

我希望你明白我的意思,因为解释这个奇怪(愚蠢)的问题并不容易。谢谢。