It seems that, when evaluating code via -eval (or -s or -run), the standard IO options are not yet set.<div>In my case, what happens is that the encoding is still set to latin1, while it should be unicode.</div><div><br></div>

<div>Here is how I reproduce the issue:</div><div><br></div><div>$ erl -eval 'io:format("~p~n", [io:getopts()]), halt().'</div><div><br></div><div><div>[{expand_fun,#Fun<group.0.33302583>},</div><div>

 {echo,true},</div><div> {binary,false},</div><div> {encoding,latin1}]</div></div><div><br></div><div>However, invoking io:getopts() inside the shell returns the proper result:</div><div><br></div><div><div>Eshell V5.9  (abort with ^G)</div>

<div>1> io:getopts().</div><div>[{expand_fun,#Fun<group.0.33302583>},</div><div> {echo,true},</div><div> {binary,false},</div><div> {encoding,unicode}]</div><div><br></div><div>This means that, if I print any unicode value during -eval (or -s or -run), it will fail by printing question marks instead of the accented words. This can be verified with:</div>

<div><br></div><div>$ erl -eval 'io:put_chars(<<"josé"/utf8>>), halt().'<br clear="all"><div><br></div><div>The same inside the console prints correctly.</div><div><br></div><div>Is this a bug?</div>

<div>Regardless if it is a bug or not, should I just set io:setopts([{encoding,unicode}]) for now?</div><div><br></div><div>Thanks,</div><div><br></div><span style="font-family:arial,sans-serif;font-size:13px;border-collapse:collapse"><b><span style="border-collapse:separate;font-family:arial;font-weight:normal"><div>

<span style="font-family:arial,sans-serif;font-size:13px;border-collapse:collapse"><b>José Valim</b></span></div><div><span style="font-family:arial,sans-serif;font-size:13px;border-collapse:collapse"><div><span style="font-family:verdana,sans-serif;font-size:x-small"><a href="http://www.plataformatec.com.br/" style="color:rgb(42,93,176)" target="_blank">www.plataformatec.com.br</a></span></div>

<div><span style="font-family:verdana,sans-serif;font-size:x-small">Founder and Lead Developer</span></div></span></div></span></b></span><br>
</div></div>