css - 添加到 css 的特殊字符 ( ) 这是从哪里来的?

标签 css utf-8 character-encoding notepad++ replace

我在 Notepad++ 中进行了一系列搜索替换操作,以有效地缩小我的CSS - 主要是删除空格/制表符等...)这最终破坏了我的CSS的大部分内容。

显然到处都插入了一个奇怪的字符(∩))在没有 BOM 的 UTF-8 中使用 notepad++,我看不到这些,但它们出现在 View 源中。

我能够通过在 ANSI 编码中进行搜索替换来删除这些字符,但我的问题是,这个字符是什么,为什么它会出现?

最佳答案

当被误解为 windows-1252 编码数据时,字符串“—是 ZWSP 的 UTF-8 编码形式。 (使用漂亮的 UTF-8 decoder 检查了这一点。)这解释了为什么在 UTF-8 模式下的 Notepad++ 中看不到它; ZWSP(零宽度空格)是一种没有宽度的不可见字符。

显然浏览器将样式表解释为 windows-1252 编码。使用 BOM 保存文件可能会有所帮助,因为这样浏览器可能会更好地猜测编码。真正的解决方法是确保(以依赖于服务器的方式)服务器为 CSS 文件发送适当的 Content-Type header 。

但是,如果这是 CSS 文件中唯一的非 Ascii 字符,则在删除有问题的数据后,实际上并不重要。

我不知道有什么简单的方法可以让 Notepad++ 插入 ZWSP(当然你可以使用系统中的通用字符插入实用程序),所以它的来源有点神秘。也许通过从某处复制和粘贴。

关于css - 添加到 css 的特殊字符 ( ) 这是从哪里来的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11001682/

相关文章:

css - 无法访问 Assets 文件夹中的图像(ruby-on-rails)

java - PHP - MySQL - Java - 确保字符集统一

c# - 读取 XML 时出现奇怪的 UTF-8 编码问题,在 C# 中写入结果

postgresql - 比较 PostgreSQL 中的字符串

css - 当用户调整浏览器大小时,获取 <div> 来调整大小

css - 使用带有自定义 CSS 的表单生成器并需要帮助更改按钮对齐方式

html - CSS 位置 :fixed not working in ie

character-encoding - 为什么使用 ExecuteGlobal 导入 .vbs 函数库文件时,VBScript 会显示 "Invalid Character"?

Java PreparedStatement UTF-8字符问题

java - 包含 zip 文件的 base64 字符串的解码在结果字符串中得到 8 个字符代码错误