我已经看到这些奇怪的符号一段时间了,我很好奇它们是什么,为什么会出现。有时,它们在一个页面上出现的频率太高,以至于文字无法辨认。这些符号在 Firefox 中显示如下,但在 Internet Explorer 中显示为小方块。
以下是一个例子:
- 这些是什么?
- 我怎样才能摆脱它们?
答案1
通常,Firefox 会将所有无法在您的字体中找到字形的 Unicode 字符渲染为包含字符代码的框。如果您访问中文网站,但未安装中文字体,那么您只会看到小框。
但是屏幕截图中的那个特定字符是 U+FFFD 替换字符。(我得到的是带有问号的菱形;您也可能得到的是方框或只是一个问号。)
除非有人故意输入该字符,但这种情况不太可能发生(除了我上面这样做),U+FFFD 意味着有人在某一时刻搞砸了他们的编码,并且:
尝试将字符编码为不支持的编码,例如,如果有人尝试以 Latin-1 编码发送中文字符,或者
将编码的字节序列作为 UTF-8 提供,但实际上它是其他内容。
在特定屏幕截图中,问题很明显,即“智能引号”被提交为单个 Windows 代码页 1252 字节。那么数据可能被错误地归为 UTF-8。
如果错误归因是由于您的浏览器错误地猜测字符集(对于没有标记其字符集的愚蠢页面),您可以通过转到“查看”->“编码”并猜测正确的字符集来修复它。如果错误归因是由于网站自己对字符串的处理,您对此无能为力。不幸的是,许多网站的字符集都错了,特别是那些用 Unicode 语言编写的网站,如 PHP、经典 ASP、Ruby 和 JSP(尽管 Java 有本机字符串,但 JSP/Servlet 在编码方面相当糟糕)。
答案2
它们是 unicode 占位符;数字代表可用字体中缺少的字形的 unicode 代码点。使用能够覆盖更多所需 unicode 字符的字体,这些方框将被漂亮的国际字符替换。
请注意,这也可能是由于浏览器(或其他应用程序)采用了错误的文档编码造成的。例如,如果您的字符编码设置指定文档应解释为西里尔文(俄语)编码,而您的文档实际上被编码为中文,那么您将在字符映射恰好重叠的地方得到错误的字形,而在字符映射不重叠的地方得到占位符字形(带有数字的框)。
答案3
他们是unicode 符号;我问了这个问题,关于打印超级用户。
答案4
符号代表的字符是智能引号(“
和”
),这是由过于热衷于复制和粘贴的手指错误输入的。或者更确切地说,它们是 Microsoft Word 等程序用来代表智能引号。两个引号都应该是"
,或者第一个引号应该是 ,“
而第二个引号应该是”
。