-
Notifications
You must be signed in to change notification settings - Fork 475
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Emoji is incorrectly encoded in punycode #368
Comments
Chrome and Edge drop ZERO WIDTH JOINER and VARIATION SELECTOR-16 from the punycode which ends up as Firefox only drops ZWJ which ends up Looking at this: https://tools.ietf.org/html/rfc5894#section-7.2.2 dropping ZWJ is correct, however there's no word about variation selectors. |
It basically seems that IDNA rules should be followed before the domain is turned into punycode - https://unicode.org/reports/tr46/ I have a test page on https://xn--g5hz781o.xpaw.me/ which I did to test various browsers.
There is https://github.com/jcranmer/idna-uts46 which could probably solve the problem here, but that library is crazy big. |
maybe @mathiasbynens has thoughts on this? |
Was there a conclusion regarding whether or not variation selectors should be dropped? |
For the record, the latest idnaMappingTable (Unicode v15) seems to say the variation selectors should be ignored/dropped:
|
Unicode inspector: https://apps.timwhitlock.info/unicode/inspect?s=%F0%9F%A4%A6%E2%80%8D%E2%99%82%EF%B8%8F
However Chrome and https://www.punycoder.com/ encode it as
https://xn--g5hz781o.xpaw.me/
What's happening here?
The text was updated successfully, but these errors were encountered: