General2026-07-21

HTML 实体拯救了我的博客,防止了页面崩溃

一篇关于 C++ 博客文章中的一个尖括号就让我的整个页面布局崩了。那一天我学会了 HTML 实体不是可选的——它们是必需的。

我记得我的博客崩溃的确切时刻。我写了一篇关于 C++ 模板的文章,里面用到了代码中的实际尖括号——\\x60\\x60 和 \\x60\\x60。我点击发布,然后突然一半页面不见了。浏览器把我精心写的代码示例解释成了 HTML 标签。第一个 \\x60\\x60 之后的所有内容要么看不见,要么被包装在我从未要求的格式中。

那一天我学会了 HTML 实体,而我尴尬地发现知道得太晚了。

HTML 实体是特殊的代码,让你可以显示保留字符——那些 HTML 用于自身语法的字符——而不会让浏览器尝试解读它们。最重要的是 \\x60<\\x60 表示小于号 \\x60<\\x60,\\x60>\\x60 表示大于号 \\x60>\\x60,以及 \\x60&\\x60 表示 & 符号本身。这三个就能完全拯救我的 C++ 博客文章。

但还有更多。我现在经常使用它们。

不间断空格 \\x60 \\x60 是我最常用的。它防止两个词在行末被分开。我把它用在数字和单位之间、名字和首字母之间、以及任何换行会显得不专业的地方。这是一个能让文字看起来更精致的小调整。

版权和商标符号——\\x60©\\x60、\\x60®\\x60、\\x60™\\x60——比直接输入实际字符看起来干净得多,尤其是一些字体渲染这些符号不一致。同样,\\x60—\\x60 用于 em dash、\\x60–\\x60 用于 en dash,比输入连字符然后指望最好的结果要可靠得多。一旦你开始使用真正的 em dash,连字符就开始看起来不对劲了。

弯引号是另一个。\\x60“\\x60 和 \\x60”\\x60 用于双引号,\\x60‘\\x60 和 \\x60’\\x60 用于单引号。它们给你的文字合适的印刷体引号,而不是那些看起来像是终端窗口里的直上直下符号。这是一个微妙的差别,但一整篇文章积累起来就很明显了。

分数实体如 \\x60¼\\x60、\\x60½\\x60 和 \\x60¾\\x60 对于任何涉及测量或食谱的内容来说都是救星。箭头实体——\\x60→\\x60 右箭头、\\x60←\\x60 左箭头——非常适合导航说明和列表,不需要图片。

我现在的流程很简单。在我发布任何可能包含代码、特殊字符或不寻常标点的内容之前,我会扫描一遍,查找浏览器可能误解读的任何东西。尖括号替换为实体。URL 中的 & 符号进行编码。连字符升级为真正的 em dash。这大约需要两分钟,而且它拯救了我避免了那种把我的 C++ 文章搞垮的灾难。

如今我在编辑器中固定放着一张速查表,记录着大约三十个我经常使用的 HTML 实体。我的博客再没有因为一个非法字符而崩溃过。而我终于完成了那篇 C++ 文章。这次用上了正确的尖括号。