Was experimenting with emoji subdomain, and found that a lot of services and browsers all handle these inconsistently.<p>Firefox for example does not remove ZWJ from the emoji before converting it to punycode.<p>Microsoft Edge considers links that were manually converted to punycode invalid if they contain characters that Edge strips (like ZWJ and variation selector). Edge also returns raw emoji string in `location` API instead of punycode strings.<p>Safari does a whole lot of interesting things like displaying emoji instead of punycode in the address bar and use URI encoding in URLs.<p>Chrome seems to handle all of the cases the best.