4

Questions like:

well, you can see there. The diamond (and other problematic Unicode characters) in the title breaks the automatic prettification of internal question links.

This becomes a bit more of an issue when one wants to link to an answer. For example Diamonds (♦) break the automatic hyperlink parser♦-break-the-automatic-hyperlink-parser/242572#242572 should link to Martijn's answer, but, it doesn't (tangent, but a different issue is that https://meta.stackexchange.com/a/242572/213963 which is the share link doesn't auto-prettify unless the userid part is removed - one keeps having to manually remove things to get the auto prettify to engage).

If one looks at the html generated for Users who can't write good posts ≠ users who want to write good posts for the title and the url linked in the <h1> of the page, we get:

<title>Users who can&#39;t write good posts ≠ users who want to write good posts - Meta Stack Exchange</title>
<h1 itemprop="name">
<a href="/questions/238644/users-who-cant-write-good-posts-%e2%89%a0-users-who-want-to-write-good-posts" class="question-hyperlink">Users who can&#39;t write good posts ≠ users who want to write good posts</a>
</h1>

And while that's a long link title, I will point out that the quote as part of the word "can't" was removed from the slug. The bug is that this should be done for other characters too.

6
  • so remove it...
    – nicael
    Oct 25, 2014 at 17:15
  • @nicael ideally, I would contend that removal should be done as part of the url slug, though thats certainly debatable. The diamond (and other characters that would require encoding) shouldn't be present in the url slug allowing a simple copy and paste of the url. Alternatively, since this is the internal prettification tool, it could do a better job of recognizing the slug and process it accordingly.
    – user213963
    Oct 25, 2014 at 17:20
  • ... from the Community ♦
    – nicael
    Oct 25, 2014 at 17:21
  • Those are not ASCII characters, that's the whole issue. Did you mean Unicode instead, perhaps? Oct 25, 2014 at 17:37
  • @MartijnPieters other characters are removed from the automatically generated slug (such as the quote character) that would cause errors with parsing. The bug is that it isn't removing enough other characters from the slug allowing issues with pasting the link in various systems.
    – user213963
    Oct 25, 2014 at 17:40
  • 2
    Related (though not a dupe): Replacement character being used question URL Oct 25, 2014 at 19:23

2 Answers 2

18

You are not pasting in a valid URL; although browser location bars may decode UTF-8 bytes for you, the proper way to encode those links is:

https://meta.stackexchange.com/questions/203129/my-question-was-deleted-by-community%E2%99%A6
https://meta.stackexchange.com/questions/99672/community-%E2%99%A6-should-discriminate-more-when-bumping-unanswered-questions
https://meta.stackexchange.com/questions/238644/users-who-cant-write-good-posts-%E2%89%A0-users-who-want-to-write-good-posts

Note the %E2%99%A6 three-byte UTF-8 encoding for the diamond, or the %E2%89%A0 encoding not-equals (≠). I got these URLs simply by copying from the Chrome location bar, and they work as expected:

The URL parser is correctly not including the non-encoded diamond character in the URL, because valid URLs simply cannot include them.

1
7

You don't need to mess with unicode at all. When linking to questions just omit the title:

- https://meta.stackexchange.com/questions/203129

- https://meta.stackexchange.com/questions/99672

- https://meta.stackexchange.com/questions/238644

Results in:

You must log in to answer this question.