JSP Internationalization

D

dschectman

I am trying to setup a test for internationalizing JSP pages in
Japanese. I have some sample strings that I converted in resource
files which I ran through native to ascii.

When I run the pages, I do not see any Japanese characters. On the
screen I only see question marks. I tried hardcoding the unicode
encoded strings. I still get question marks. What am I missing.

The application is running on iplanet app server 6.5 and iplanet web
server 6.0.
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_04-b02)
Java HotSpot(TM) Client VM (build 1.3.1_04-b02, mixed mode)

Thanks for your input.

David

Here is the output
This is a test for Japanese: ??? ? ???

Here is the JSP source.
<%@ page import="java.util.ResourceBundle" %>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
</head>
<body>
This is a test for Japanese:
<%
ResourceBundle res = ResourceBundle.getBundle("MyResource");
%>
<%=res.getString("teststring"); %>
<%
tmp="\u6708"; //unicode encoded
%>
<%=tmp%>
<%
tmp="å二月";
%>
<%=tmp%>
</body>
</html>
 
C

ck

I am trying to setup a test for internationalizing JSP pages in
Japanese. I have some sample strings that I converted in resource
files which I ran through native to ascii.

When I run the pages, I do not see any Japanese characters. On the
screen I only see question marks. I tried hardcoding the unicode
encoded strings. I still get question marks. What am I missing.

The application is running on iplanet app server 6.5 and iplanet web
server 6.0.
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_04-b02)
Java HotSpot(TM) Client VM (build 1.3.1_04-b02, mixed mode)

Thanks for your input.

David

Here is the output
This is a test for Japanese: ??? ? ???

Here is the JSP source.
<%@ page import="java.util.ResourceBundle" %>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
</head>
<body>
This is a test for Japanese:
<%
ResourceBundle res = ResourceBundle.getBundle("MyResource");
%>
<%=res.getString("teststring"); %>
<%
tmp="\u6708"; //unicode encoded
%>
<%=tmp%>
<%
tmp="å二月";
%>
<%=tmp%>
</body>
</html>

save the resource file as utf8 format. If you save it as ascii char
set you would get question marks.
 
D

dschectman

save the resource file as utf8 format. If you save it as ascii char
set you would get question marks.

The native resource file is saved as UTF 8. When I run native2ascii I
specify utf-8 encodiing. The ASCII equivaluents whether from the
compiled resource file or pasted into the JSP appear as question
marks.

David
 
O

Oliver Wong

I am trying to setup a test for internationalizing JSP pages in
Japanese. I have some sample strings that I converted in resource
files which I ran through native to ascii.

When I run the pages, I do not see any Japanese characters. On the
screen I only see question marks. I tried hardcoding the unicode
encoded strings. I still get question marks. What am I missing.

I'm not sure whether this is a feasible solution for you, but whenever
I post Japanese text on my blog, I use HTML escape entities, e.g.
たまゆら Of course, this makes text take up to 4
times more bandwidth (8 bytes instead of 2 per character), but it works
for me as I tend to post only very short snippets of Japanese, and I've
found this to be the most trouble-free (in the sense that the largest
range of audience is able to see the text without any fiddling) method.

- Oliver
 
M

mart

I had a similar problem with Greek characters. The only thing that
fixed it for me was to make sure that my Oracle database was in the
correct character set, Oracle 9i did not use the standard UTF-8 unless
you set up the whole database at creation time with one obscure
character set.

Also had to put this in all my pages.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

Absolutely all of them including in all the included JSP files. That
fixed it for me. In my experience it is normally the database that is
causing the problem.

Sorry if you know this already, best of luck
cheers
Martin
 
D

dschectman

I had a similar problem with Greek characters. The only thing that
fixed it for me was to make sure that my Oracle database was in the
correct character set, Oracle 9i did not use the standard UTF-8 unless
you set up the whole database at creation time with one obscure
character set.

Also had to put this in all my pages.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

Absolutely all of them including in all the included JSP files. That
fixed it for me. In my experience it is normally the database that is
causing the problem.

Sorry if you know this already, best of luck
cheers
Martin

Thanks for all your responses. We do have the meta tags and the JSP
page encoding on our pages. Strings are displaying correctly from the
resource files. The issue is due, in part, to the version of our
JDK. The application server we use, iplanet 6.5, uses Java 1.3.1_04.
The URLEncoder and URLDecoder classes in this version of Java do not
support multiple encodings. When the Unicode characters are passed
through these classes, the encoding is messed up. Unfortunately, we
are not able to upgrade the application server or the JDK at this
time. Can anyone point me to a URL encoder and decoder for this
version of Java that supports Unicode. URL encoding for ASCII should
work as it does now. Encoding Unicode characters should translate
them to %u format as in %u7523.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,995
Messages
2,570,230
Members
46,819
Latest member
masterdaster

Latest Threads

Top