https://pharo.fogbugz.com/f/cases/19383/IDNA-punycode-for-Zinc After loading Name: Punycode-dTriangle.8 Author: dTriangle Time: 26 August 2013, 10:19:11.728 am UUID: 6493a3ee-43bb-44f0-86a8-5aa47a9b42ff Ancestors: Punycode-dTriangle.7 I can do the following 'http://üni.ch' asUrl. "http://xn--ni-wka.ch/" 'http://üni.ch' asUrl retrieveContents includesSubstring: 'Ãni'. "true" Done ;-) Thank you, https://twitter.com/osashimitabenai, well done ! Sven
On 23 Nov 2016, at 15:43, Sven Van Caekenberghe <sven@stfx.eu> wrote:
On 23 Nov 2016, at 15:36, Max Leske <maxleske@gmail.com> wrote:
Great!
Thereâs a punycode implementation on smalltalkhub (http://smalltalkhub.com/#!/~dTriangle/Punycode) but it needs some polishing.
Wow, that looks good, it even has ZnUrl integration, so we're done ;-)
There are no tests though.
How come we never heard of this ?
Last commit was in 2013, hopefully the author is still around.
Should I open an issue on FogBugz so we donât forget?
Yes, OK.
Max
On 23 Nov 2016, at 15:00, Sven Van Caekenberghe <sven@stfx.eu> wrote:
Max,
On 23 Nov 2016, at 14:34, Max Leske <maxleske@gmail.com> wrote:
Hi (Sven),
Zinc canât currently handle unicode domain names (e.g. http://üni.ch). Are there any plans to implement punycode / IDNA conversion for Zinc? Or is there an explicit reason not to support it? I see that #parseHostPort: expects the host portion to be percent escaped, what is the use case for this? I have never seen a percent escaped host portion. Usually the host portion is either pure ASCII, unicode or punycode (in my experience at least).
Just curious, as I just added IDNA conversion to one of our applications (I just let python perform the conversion: https://docs.python.org/2/library/codecs.html#module-encodings.idna).
Cheers, Max
Yes, that would be nice to have.
Just for future reference, we are talking about the following (IDN(A)):
https://en.wikipedia.org/wiki/Internationalized_domain_name https://en.wikipedia.org/wiki/Punycode https://tools.ietf.org/html/rfc3490 https://www.charset.org/punycode
Normal DNS hostnames are ASCII only (or used to be like that anyway), that is why it is (currently) implemented like that.
Sven