Saturday, May 2, 2009

Linguistics Tip

OK, so we all know that when facing language issues, playing with NLS_LANG often does the trick, but a while ago we had an issue with a web app (running on iAS) that would show normally Hebrew characters for strings taken from configuration files but would transform any Hebrew data from the database into question marks. The interesting thing was that the same application running from a workstation worked perfectly. 
We were starting to get desperate, as more and more people looked at it and didn't manage to find a solution. But when I showed it to the DBA in my team he solved it in five minutes, luckily, he had a similar issue the week before.

Here's the trick, sometimes you have to modify the language settings for the server itself. Actually it's not enough to change the language settings, you have to check this annoying check box as well:


We've obviously played with the Regional Settings before just never even looked at this tab and hence didn't see any changes.


1 comment:

Unknown said...

Obviously that's because the iAS service runs under LOCAL SYSTEM or something similar.
But there's a "cross platform" or a "more correct" way to solve this: change the command line parameters for the JVM running the iAS instance. It should look like -Duser.language=US or something similar. You already have some applications configured this way, so you can easily check.
This solution will also survive OS upgrades, hardware upgrades, security patches, etc.