如何防止Unicode字符从JavaScript呈现为HTML中的表情符号?

2022-08-30 02:11:02

我正在从FileFormat.Info的搜索中找到特殊字符的Unicode。

某些字符呈现为经典的黑白字形,例如 ⚠ (警告符号或 )。这些是可取的,因为我可以对它们应用CSS样式(例如颜色)。\u26A0⚠

image of warning glyph

其他人则渲染为较新的卡通表情符号,例如⌛(沙漏或)。这些不是可取的,因为我不能完全设计它们。\u231B⌛

image of hourglass emoji

浏览器似乎正在进行此更改,因为我能够在Mac Firefox上看到沙漏字形,而不是Mac Chrome或Mac Safari。

有没有办法强制浏览器显示较旧的(平面单调)版本?

更新:似乎(从下面的评论中)有一个文本演示选择器,可用于强制执行文本与表情符号。选择器作为后缀在字符的代码上,没有空格,例如对于 HTML 十六进制或 JS。但是,并非所有浏览器(例如Chrome和Edge)都遵守它FE0E⌛︎\u231B\uFE0E


答案 1

附加 Unicode 变体选择器字符以强制文本 VS15 和 ︎
这将强制将前一个字符呈现为文本,而不是表情符号。

<p>						

答案 2