# 我们失去了Gorgeous George（无法访问的类别）

**URL:** <https://meta.discourse.org/t/we-lost-gorgeous-george-unreachable-category/395355>\
**Category:** Support\
**Created:** [2026年二月6日 10:58 UTC](https://meta.discourse.org/t/we-lost-gorgeous-george-unreachable-category/395355 "2026-02-06T10:58:52Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![hellekin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/hellekin/32/51636_2.png) [@hellekin](https://meta.discourse.org/u/hellekin)\
**Post date:** [2026年二月6日 10:58 UTC](https://meta.discourse.org/t/we-lost-gorgeous-george-unreachable-category/395355/1 "2026-02-06T10:58:52Z")

</div>

我被这个很久以前出现的错误搞糊涂了。我给了它一些时间让它消失，今天早上我尝试更改受影响的分类，看看它是否会消失，但它仍然存在，阻止访问一个已经存在多年的分类。

## 症状

我有一个子分类，其（完整）短代码是 `asbl:editions`。我还有一个子分类 `incoming:ps-editions-lesoiseaux-io`。后者是较新的。

每当我尝试将主题移动到前一个分类，或者从主页在该分类中创建新主题时，当我输入 `editions` 时，我只会在列表中看到后者，而看不到前者。

没有日志，没有控制台错误：它就是不存在。

这非常令人恼火，因为这是一个非常重要的分类，而且我很多次需要将相关主题移动到那里。

## 故障排除

我想得到一些指导，了解如何追踪这个错误，因为没有明显的发现方法。这是唯一受影响的分类。

我尝试了：

- 移除短代码并保存 🙁
- 移除另一个分类的短代码并保存 🙁
- 将分类重命名为 WTF：它又出现在下拉列表中了 🙂
- 将分类重命名回其原始名称（`Éditions`）：它又消失了… 🙁

我想知道这是否是保留字问题，或者分类短代码、标签、群组之间存在某种混淆……我没有重复的名称，但有变体：`ps-editions`、`editions-ps` 等，它们使用了与缺失的分类短代码相同的单个词：`editions`。也许这是一个线索？

感谢您的热心关注。

---

<div class="post-metadata">

**Author:** ![zogstrip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zogstrip/32/512781_2.png) [@zogstrip](https://meta.discourse.org/u/zogstrip)\
**Post date:** [2026年二月7日 16:14 UTC](https://meta.discourse.org/t/we-lost-gorgeous-george-unreachable-category/395355/3 "2026-02-07T16:14:40Z")

</div>

如果将类别命名为 `Editions` 而不是 `Éditions`，它能工作吗？🤔

我们可能在服务器端漏掉了一两次对 `unaccent` 的调用，因为我认为 `LIKE` 和 `ILIKE` 与变音符号（重音符号）配合不佳。

```sql
# SELECT 'Éditions' ILIKE '%editions%';
 ?column?
----------
 f
(1 row)

```

当使用 `unaccent` 时

```sql
SELECT unaccent('Éditions') ILIKE unaccent('%editions%');
 ?column?
----------
 t
(1 row)

```

---

<div class="post-metadata">

**Author:** ![hellekin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/hellekin/32/51636_2.png) [@hellekin](https://meta.discourse.org/u/hellekin)\
**Post date:** [2026年二月7日 18:57 UTC](https://meta.discourse.org/t/we-lost-gorgeous-george-unreachable-category/395355/4 "2026-02-07T18:57:00Z")

</div>

干得好 @zogstrip，这说明在支持重音符号方面存在一个错误。我猜这在非英语语言中一定很常见。

顺便说一句，祝 Discourse 周年快乐 🙂

---

<div class="post-metadata">

**Author:** ![zogstrip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zogstrip/32/512781_2.png) [@zogstrip](https://meta.discourse.org/u/zogstrip)\
**Post date:** [2026年二月7日 19:09 UTC](https://meta.discourse.org/t/we-lost-gorgeous-george-unreachable-category/395355/5 "2026-02-07T19:09:32Z")

</div>

谢谢 😅

我已经为修复提交了一个拉取请求 (PR) 😉

> <https://github.com/discourse/discourse/pull/37622>
>
> Categories with accented names (e.g. "Éditions") were not appearing in search re…sults, category chooser dropdowns, or hashtag autocomplete when searching with unaccented terms (e.g. "editions").
> 
> PostgreSQL's \`ILIKE\` and \`LOWER()\` are case-insensitive but not accent-insensitive, so queries like \`name ILIKE '%editions%'\` would not match "Éditions".
> 
> This wraps all category name/slug comparisons with PostgreSQL's \`unaccent()\` function across:
> \- \`/categories/search\` endpoint
> \- \`/categories/hierarchical\_search\` endpoint
> \- Hashtag (#) autocomplete
> \- \`category:\` and \`#slug\` search filters
> 
> On the frontend, adds a shared \`removeAccents()\` utility using NFD normalization for client-side \`Category.search()\` and search filter suggestions.
> 
> Ref - https://meta.discourse.org/t/395355

---

<div class="post-metadata">

**Author:** ![zogstrip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zogstrip/32/512781_2.png) [@zogstrip](https://meta.discourse.org/u/zogstrip)\
**Post date:** [2026年二月16日 07:00 UTC](https://meta.discourse.org/t/we-lost-gorgeous-george-unreachable-category/395355/8 "2026-02-16T07:00:00Z")

</div>

此主题已在 8 天后自动关闭。不再允许回复。
