# 表情符号转 Emoji 应为用户偏好，而非全站设置

**URL:** <https://meta.discourse.org/t/emoticon-to-emoji-conversion-should-be-a-user-preference-not-site-wide/407255>\
**Category:** Feature\
**Created:** [2026年七月10日 11:13 UTC](https://meta.discourse.org/t/emoticon-to-emoji-conversion-should-be-a-user-preference-not-site-wide/407255 "2026-07-10T11:13:50Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![0cjs](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/0cjs/32/570277_2.png) [@0cjs](https://meta.discourse.org/u/0cjs)\
**Post date:** [2026年七月10日 11:13 UTC](https://meta.discourse.org/t/emoticon-to-emoji-conversion-should-be-a-user-preference-not-site-wide/407255/1 "2026-07-10T11:13:50Z")

</div>

我听说有一个全站范围的设置，可以强制将表情符号（例如 `:-)`）自动转换为表情代码（例如 🙂 ）。这个站点似乎关闭了该设置，这对我来说很好（我不希望将 :-/ 转换），但大概对那些希望强制转换以避免处理转换弹出菜单的人来说也还可以。

我认为这最好作为个人偏好设置。事实上，这在 2014 年曾于 [Emoji user preferences - #5 by sam](https://meta.discourse.org/t/emoji-user-preferences/15763/6) 讨论过，但该话题去年被关闭，且似乎没有得出任何结论。

如果表情代码用户觉得这个菜单不是个大问题，那么干脆移除该选项可能更有意义，这样至少管理员不会让那些不希望表情符号被强制转换的用户感到沮丧。（我有一些证据表明，有些管理员会无意中这样做。）我看不到任何强制转换那些不希望转换的用户的好理由，尽管我愿意听取认为这是一个有益或重要功能的论点。

---

<div class="post-metadata">

**Author:** ![darkpixlz](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/darkpixlz/32/549896_2.png) [@darkpixlz](https://meta.discourse.org/u/darkpixlz)\
**Post date:** [2026年七月10日 11:58 UTC](https://meta.discourse.org/t/emoticon-to-emoji-conversion-should-be-a-user-preference-not-site-wide/407255/2 "2026-07-10T11:58:32Z")

</div>

我完全同意这一点，有些网站设置让我困惑，不明白为什么管理员要为所有人做决定，而不是让用户自己选择（我没有确切的列表，但时不时会找到一些让我困惑的设置）。也许应该有一个新的“发帖偏好”选项卡，把这些设置放在那里，而不是让管理员替你决定。

---

<div class="post-metadata">

**Author:** ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)\
**Post date:** [2026年七月10日 12:36 UTC](https://meta.discourse.org/t/emoticon-to-emoji-conversion-should-be-a-user-preference-not-site-wide/407255/3 "2026-07-10T12:36:31Z")

</div>

你从技术角度设想这一功能如何运作？也就是说，你撰写帖子，然后提交它，而帖子不再像以前那样根据站点设置进行烘焙，而是现在会检查你的个人偏好设置。这一点我还能理解。

但如果在我的帖子中引用你的帖子，那么你的偏好设置就必须应用于引用部分，而我的偏好设置则应用于我的部分。在我看来，这正是棘手之处。

当我们两人先后编辑同一篇维基帖子时，情况也是如此。

我还看到，如果帖子需要稍后重新烘焙，也会存在问题。一方面，用户更改偏好的可能性比管理员在不知晓后果的情况下更改设置的可能性更大，因此旧帖子可能是用不同的偏好设置撰写的。此外，还必须检查每个帖子的作者及其偏好设置。

---

<div class="post-metadata">

**Author:** ![0cjs](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/0cjs/32/570277_2.png) [@0cjs](https://meta.discourse.org/u/0cjs)\
**Post date:** [2026年七月10日 12:59 UTC](https://meta.discourse.org/t/emoticon-to-emoji-conversion-should-be-a-user-preference-not-site-wide/407255/4 "2026-07-10T12:59:52Z")

</div>

请记住，这是一个_编辑器_偏好设置。因此，它似乎只适用于你实际_输入_的 `:-)`，如果文本中已经存在另一个表情符号，它不会进行自动转换或弹出菜单。我认为目前的情况就是这样：我在引用他人时从未见过弹出窗口出现，尽管我不确定我是否曾经引用过表情符号。但试着引用这个 🙂 看看会发生什么。

（唉，要么有人切换了设置，要么更可能的是我错了，这个特定的 Discourse 实例确实在强制将表情符号转换为表情贴图：我似乎“欺骗”了编辑器不进行转换，但在发布时它进行了转换。）

---

<div class="post-metadata">

**Author:** ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)\
**Post date:** [2026年七月10日 13:17 UTC](https://meta.discourse.org/t/emoticon-to-emoji-conversion-should-be-a-user-preference-not-site-wide/407255/5 "2026-07-10T13:17:05Z")

</div>

我的意思是，当我发布 `:)` 时，它会被转换成 🙂 。但是我的帖子中仍然包含 `:)`

---

<div class="post-metadata">

**Author:** ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)\
**Post date:** [2026年七月10日 13:19 UTC](https://meta.discourse.org/t/emoticon-to-emoji-conversion-should-be-a-user-preference-not-site-wide/407255/6 "2026-07-10T13:19:44Z")

</div>

因此，当我在编辑器中使用“引用整帖”选项时，会得到

```plaintext
[quote="Moin, post:5, topic:407255, full:true"]
我的意思是，当我发帖 :) 时，它会被转换成 :slight_smile: 。但我的帖子中仍然包含 `:)`
[/quote]

```

因此，为了正确渲染引用，你需要使用引用作者的首选项，而不是发帖人的首选项。只要所有人的设置都相同，你就可以以相同的方式处理帖子的所有内容。

---

<div class="post-metadata">

**Author:** ![mcwumbly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mcwumbly/32/103861_2.png) [@mcwumbly](https://meta.discourse.org/u/mcwumbly)\
**Post date:** [2026年七月11日 02:52 UTC](https://meta.discourse.org/t/emoticon-to-emoji-conversion-should-be-a-user-preference-not-site-wide/407255/7 "2026-07-11T02:52:22Z")

</div>

正如 Moin 所指出的，这将是一个重大的技术挑战（且收益有限）。

曾几何时（当我还是用户，运营着一个拥有对 Markdown 格式有特定要求的用户的站点时），我提出过类似的要求，该要求也面临类似的挑战：[Advanced post option to override markdown linebreak setting](https://meta.discourse.org/t/advanced-post-option-to-override-markdown-linebreak-setting/81722)

它至今仍停留在“锦上添花，但可能不会实现”的列表中。

我想你已经掌握了窍门——使用那些反引号。

话虽如此，我确实听到了这样的声音：

> [@darkpixlz](#):
>
> 有一些站点设置让我感到困惑，不明白为什么管理员要为所有人做选择，而不是让用户自己选择

多年来，也存在一种为某些功能添加站点设置的模式，而这些功能本最好由用户自行控制。因此，如果你遇到其他类似的情况，请随时建议进行更改。

我们可能无法优先处理它们，但那些最终被证明价值更高且更改复杂度更低的功能，将更容易进入某人的优先处理列表。

---

<div class="post-metadata">

**Author:** ![0cjs](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/0cjs/32/570277_2.png) [@0cjs](https://meta.discourse.org/u/0cjs)\
**Post date:** [2026年七月13日 12:05 UTC](https://meta.discourse.org/t/emoticon-to-emoji-conversion-should-be-a-user-preference-not-site-wide/407255/8 "2026-07-13T12:05:36Z")

</div>

> [@Moin](#):
>
> 我的意思是，当我发布 🙂 时，它会被转换为 🙂 。但我的帖子中仍然包含 `:)`

这确实让人困惑。如果你（或管理员）选择了将其转换，为什么存储方式会不同呢？设置一个全局选项来“以此存储但那样显示”似乎是个糟糕的主意，因为管理员可以随时更改你消息的显示方式。

> [@mcwumbly](#):
>
> 正如 Moin 指出的，这将是一个重大的技术挑战（且收益有限）。

“存储用户看到的内容”并非重大的技术挑战。在向后兼容性方面可能存在一些有趣的挑战，但在这种情况下，我认为最好现在就果断解决，修复问题以确保解释清晰，而不是试图在用户输入的文本上叠加可配置且可变的重大解释层。

---

<div class="post-metadata">

**Author:** ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)\
**Post date:** [2026年七月13日 13:40 UTC](https://meta.discourse.org/t/emoticon-to-emoji-conversion-should-be-a-user-preference-not-site-wide/407255/9 "2026-07-13T13:40:40Z")

</div>

数据库中同一帖子存在多个版本。例如，当我输入一个链接时，我在编辑器中会看到类似  
`https://discourse.org`  
的内容，之后在编辑时也会再次看到它。

然而，你最终看到的是包含图片、标题和简短描述的 Onebox 预览：

> **[Where Tech Companies Build Communities](https://discourse.org)**
>
> The customizable, scalable community platform powering over 22,000 communities. Create knowledge through conversation.

当我使用 #Marketplace 标签时也会出现类似的情况，发布后它看起来并不像简单的 `#marketplace`。但我喜欢的是它没有将完整的 HTML 版本添加到我的帖子中。否则，校对和编辑将会复杂得多。

因此，用户输入的 Markdown 与发布后通常显示的烘焙 HTML 版本之间确实存在更多差异。
