<div dir="ltr">Hi all,<div><br></div><div>I have a library where the input to the function should be given as utf8.</div><div><br></div><div>Inputs can be:</div><div><br></div><div>"<a href="http://www.xn--8ws00zhy3a.com/atomtests/iri/">http://www.詹姆斯.com/atomtests/iri/</a>詹.html"<br>

</div><div><br></div><div><<"<a href="http://www.xn--8ws00zhy3a.com/atomtests/iri/">http://www.詹姆斯.com/atomtests/iri/</a>詹.html"/utf8>></div><div><br></div><div>or sometimes <<"<a href="http://www.xn--8ws00zhy3a.com/atomtests/iri/">http://www.詹姆斯.com/atomtests/iri/</a>詹.html">></div>

<div><br></div><div>The library I am using should be compatible with the Erlang R15 to 17.0  versions and I wonder if there is a graceful way to handle inputs depending on the Erlang version</div><div><br></div><div>From a discussion on IRC, I found I can easily convert a string to unicode using the following function:</div>

<div><br></div><div>     UnicodeURL = case unicode:characters_to_binary(URL, InEnc) of<br></div><div><div>         URL1 when is_binary(URL1) -></div><div>              URL1</div><div>         _ -><br></div><div>              unicode:characters_to_binary(list_to_binary(URL))</div>

<div>      end</div></div><div><br></div><div>It also works on R16B if I set the source code encoding with the file header `%% -*- coding: utf-8 -*-`.  </div><div><br></div><div>But how to handle it when the source code encoding is latin1? How to handle it in version < R16B? Is this possible?</div>

<div><br></div><div>If not, can we disable functions depending of an Erlang version in a module?</div><div><br></div><div><br></div><div>Any help is appreciated :)</div><div><br></div><div>- benoit</div><div><br></div><div>

<br></div></div>