For those that have been following my little saga here (any?) and who have experienced my problems I have good news ! It's solved :)
It turns out that just about eveyrthing was wrong:
- our production oracle database was setup as UTF8 while our test databases were either UTF8, WE8ISO8859P1 or ASCII ! This is VERY bad because when we imported data from the production environment to the test environment, the contents of the VARCHAR columns were wrong for extended characters
- our production env was running redhat while our test & dev are debian... it turns out all of our debians didn't have their locale correctly set so the JVM was starting with file.encoding ANSI_X3.4_1968. Setting the locale using dpkg-reconfigure locales to fr_FR ISO-8859-1 solved that problem !
The reason why I thought something was wrong with weblogic is that I seemed to be getting correct data through an SQL request only in Eclipse's JUnit. What really was happening is that I was looking at what the J2EE app was writing to a file... that's what you get when your tests are not "unit" enough !
It took a few days before we realized how many things were wrong but we finally got it right : the DBA is changing all dbs to UTF8 and now have 18 tests that run in JUnit. These tests save and load text files with accents and check that the encoding is ISO-8859-1
Yeah !
Posted by pgirolami76 at February 19, 2003 05:06 PM | TrackBackThe moral of the story is that your production and test environments should be exactly the same if possible. At least they should be running the same OS and software configurations should be the same.
Posted by: Anthony Eden at February 20, 2003 05:55 PMDefinetly ! I've only just come on board and it was quite a shock to see that over a year after the whole thing went into production, this could still be happening !
Posted by: Philippe at February 22, 2003 01:45 PM