目前我们的页面正在使用Unicode BOM输出。
我找到了一种方法,可以通过将以下内容添加到我的母版页OnInit
来删除它。
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
Response.ContentEncoding = new System.Text.UTF8Encoding(false);
}
传递给false
构造函数的UTF8Encoding
会禁用BOM。
这很好用,但我更喜欢在web.config中设置它,而不是依赖它在任何给定页面的OnInit
层次结构中。
globalization
element具有responseEncoding
属性,该属性采用有效结束编码的字符串表示形式。 e.g。
<globalization
responseEncoding="utf-8"
... />
有没有办法将“ utf-8无BOM ”表示为一个字符串,可以在web.config中用作responseEncoding
的值?
答案 0 :(得分:1)
BOM或字节顺序标记有时非常烦人。 Visual Studio不会更改文件,除非您保存它(如汉斯所说)。
以下是您的问题的解决方案:如果您想使用其他编码保存文件,请选择另存为并在文件对话框中扩展保存按钮,然后选择&#34;使用编码保存&#34;。或者,如果您想要永久删除此设置,只需打开“文件”菜单并选择“高级保存选项”即可。你应该在没有签名的情况下选择&#34; UTF-8&#34; (这也回答了你的上一个问题:)。是和#34;没有签名的UTF-8&#34;与没有BOM的情况相同。