I&#39;m using DBD::Oracle to communicate with Oracle 10g (10.2.0.4)<br><br>All works well, except that I find I have to use the following environment variable for the Oracle client, in order to have data sent to my perl script in UTF8 format.<br>
<br>No biggy, here&#39;s the environment variable:<br>$ENV{NLS_LANG}      = &quot;AMERICAN_AMERICA.UTF8&quot;;
<br><br>Problem is though, even with UTF8, there are still (a small number) of characters that do not get translated correctly.<br><br>The characters that I&#39;m having trouble with seem to show up fine when using the regular &quot;Western (ISO-8859-1)&quot; character set.<br>
<br>So far I&#39;ve considered three options as work-arounds:<br><br>1) Have the database keep track of the character set that required to correctly display the data for each record<br><ul><li>complexity = high</li><li>elegance = unattractive</li>
</ul>2) Provide an option in the UI to switch between character sets<br><ul><li>complexity = medium</li><li>elegance = ugly</li></ul>3) Detect questionable characters in the incoming data, and automatically switch character sets before output to end user<br>
<ul><li>complexity = unknown (if the data comes back as &quot;??&quot;, what if they were supposed to be actual question marks??)</li><li>elegance = could be worse</li></ul><br>Any thoughts on how this could be done in a more elegant and less complex way?<br>
<br><br>-- <br>J. Bobby Lopez<br>Web: <a href="http://jbldata.com/">http://jbldata.com/</a><br>Twitter: <a href="http://www.twitter.com/jbobbylopez">http://www.twitter.com/jbobbylopez</a><br><br>