----- Original Message -----
From: "André Warnier" <[EMAIL PROTECTED]>
To: "Tomcat Users List" <users@tomcat.apache.org>
Sent: Friday, September 12, 2008 10:08 AM
Subject: Re: Migrating to tomcat 6 gives formatted currency amounts problem
Caldarale, Charles R wrote:
I'm not sure these days what the "normal web character set" really is.
If you're referring to ASCII (aka Basic Latin), then no, the Pound
Sterling symbol is not present. However, for any of the ISO-8859-x
variants, it is present, using the 163 (0xA3) value you noted (same as
the Unicode code point). It's also in UTF-8 of course, but requires two
bytes (0xC2 0xA3) to represent the code point.
I love these discussions about character sets. They seem to confuse so
many people; even I, who have been involved in them for 30 years...
Anyway, I have a related question, which I don't think constitutes a
hijack of this thread, because the underlying cause is probably similar.
Here it goes :
Tomcat (v 4.1, v 5.0, v5.5, have not tried yet in 6.x)
The above Tomcat's running under the same Linux or Solaris, essentially
set up the same way. The JVM may vary, but I don't think that is the
problem, because of the consistency of the problem as explained below.
I am running a webapp from an external supplier, always the same binary
version. I don't have the code, can't see what's in it.
The pages served by that webapp are the same html pages, all of them
having a declaration <meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">.
The pages also *are* properly encoded as iso-8859-1 (100% positive, I know
the difference).
The browser receiving the pages is always the same one, same settings.
Now,
case a)
in the Tomcat startup files, I do nothing, meaning I just take Tomcat
out-of-the-box and run the webapp.
Result : in any such html page that contains characters with an ISO-8859
codepoint above \xA0 (meaning the displayable characters of the "high"
part of the table, where one finds things like "uppercase A with umlaut"),
these characters
- appear in the browser display as "?" (minus the quotes)
- also if I save the page from the browser to disk, and look at them
with an iso-8859-1 capable editor, they are effectively "?".
(So it's not the browser misunderstanding them, it is Tomcat sending them
that way).
case b)
In one of the Tomcat startup files (e.g. tomcat_dir/bin/startup.sh or even
in /etc/init.d/tomcat5.5), I add the following line
LC_CTYPE="en_us.iso88591"
(or whatever is valid on that host to specify an iso-8859-1 LC_CTYPE)
(before the actual start of Tomcat)
and restart Tomcat
then the same page displays properly in the browser, and also is correct
iso-8859-1 when saved to disk and examined with the editor.
(In other words, what previously were "?" characters, are now the correct
iso-8859-1 character bytes).
Now my question is :
How can it matter which LC_CTYPE Tomcat is started under, that would have
the result above ?
The behaviour above is consistent across different hosts, across the same
or different Tomcat versions, it is always the same webapp, always the
same html pages, always the same browser, etc. Only that LC_CTYPE line
changes the behaviour.
On the face of it, the only thing I can think of that would explain this,
is that the webapp in question does something wrong, but what exactly
could it be doing ?
Any ideas ?
Thanks in advance,
André
Andre see this link, about halfway down...
http://java.sun.com/javase/technologies/core/basic/intl/faq.jsp#core-locale
They talking Solaris, which on the default C locale is Ascii...
When they do what you doing... more or less... it becomes ISO...
So if there is a Java locale function in that web app... one minute its
working with ascii, the next with ISO...
The page encoding has been hardcoded by the coder to always ISO...
Its the Java locale in a web app... I think...
Look at the classes in an IDE, or search it...
java.util.Locale
is hiding in your web-app ;)... I think
Thanks... theres the gotcha I was worried about... and you still talking
english ;)
Does it mean you cant run linux headless?... I wonder...
For fun... make your linux box Japanese... I think the web app will really
start having fun
... no foreign administrators for you ;)
I dont believe at all its Tomcat... its client side Java sitting in
servers... gotcha..
The coders broke their own application... all by themselves... admin guys
have now got the headache...
---------------------------------------------------------------------------
HARBOR : http://www.kewlstuff.co.za/index.htm
The most powerful application server on earth.
The only real POJO Application Server.
See it in Action : http://www.kewlstuff.co.za/cd_tut_swf/whatisejb1.htm
---------------------------------------------------------------------------
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]