Thank you for your assist, Mr. Jason
Jason Lea [EMAIL PROTECTED] wrote:
He was saying it 'can' display Japanese characters. The example doesn't
have any Japanese characters in in (if i remember correctly), but if
they are put into the properties files for the locale they will be
displayed.
Yep. The example app was written as a good example for i18n, so it does
not contain any language specific characters directly in the JSPs to
share a JSP with many languages.
The messages resource files contain them.
You should look into that http://www.anassina.com/struts/i18n/i18n.html
page as it explains a lot.
I think the main problem is you have the Japanese characters already
converted into HTML in your application as yuo have them in the format
#12495;. When you use a bean to write it out, the bean tried to escape
any characters that are significant to HTML, and the '' character is
one of them. That is why it replaces your '' with 'amp;'. The bean is
trying to help by displaying the text you provided in HTML so that it
will appear as #12495; on the page. The 'filter=false' stops it doing
this, but also means if you have some other characters like '' in your
text then they won't be escaped and could cause the page to be rendered
incorrectly.
carlo,
The behavior of bean:write is correct and proper.
When you write Japanese in your message resource files, you should not
use the HTML numeric character
references(http://www.w3.org/TR/html401/charset.html#h-5.3.1).
Or if you insist on using #x, set filter=false.
As I and Jason said, the most common way is, write Japanese characters
into message resource files directly (using a text editor and input
method that can handle Japanese) and convert using native2ascii.
When I display Japanese characters on my pages I store them in Japanese
in a .properties file, then use native2ascii to convert those japanese
characters into the Java Unicode properties file format of \u. When
java reads them in, the actual unicode character is passed around in
java and output directly into the html page. The page encoding is set to
UTF-8, and the browser can display it correctly. The bean:write will
also still escape the characters that need it such as '' and ''. This
also means I am not dealing with HTML formatting inside my Java code,
and can happily store the same characters in files, databases etc or
output to another device instead of HTML.
--
Jason Lea
carlo latasa wrote:
I just checked the example application and did not see anything on Japanese
characters. I'm at:
http://localhost:8080/struts-example/tour.do
Struts try to choose language encoding according to your browser setting.
So if you are not in Japanese environment, you should change your
browser language.
See
5. Test it out using a browser that let's you select default languages:
of
http://www.anassina.com/struts/i18n/i18n.html
In this case, you should choose "Japanese[ja]".
Then you will see Japanese characters (if your browser has suitable
fonts).
Good luck!
Yoshinori Ashizawa
Did you mean that if I were to just take this code and modify it to display
these characters? Or is the example somewhere else?
From: [EMAIL PROTECTED]
Reply-To: "Struts Users Mailing List" [EMAIL PROTECTED]
To: "Struts Users Mailing List" [EMAIL PROTECTED]
Subject: Re: i18n with Japanese characters and tags
Date: Tue, 23 Mar 2004 16:12:20 +0900
Carlo,
Have you checked the example application included in Struts1.1(or
current CVS)? It can show Japanese characters correctly without any
special implementations.
I think it will be a help for your problem.
The most frequent mistake in such case is lack of unicode escape
to their message resource files.
Don't forget "native2ascii" when you make your resource files.
see also : http://www.anassina.com/struts/i18n/i18n.html
Yoshinori Ashizawa
Ja-Jakarta Project www.jajakarta.org
carlo latasa" [EMAIL PROTECTED] wrote:
Hello,
I'm trying to show Japanese characters on my jsp pages however the ""
character of the charset is coming back as amp; which is preventing the
characters from being displayed correctly. They look like:
キカスハ
Note, the bean:write tag renders the characters correctly when the
filter
attribute is set to "false".
I've got a struts application using both Tomcat and Jrun and I've set my
controller element of the struts-config.xml as:
controller contentType="text/html;