tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thomas.Rimm...@swissinfo.ch
Subject problem with arabic in multilanguage jsp
Date Wed, 14 Jan 2004 12:21:17 GMT
Hello

we are running a tomcat instance that uses common jsps for all languages. If
no encoding is set in the http-header tomcat 4.1.29 sets iso-8859-1 by
default. Arabic users must then configure their browsers themselves
(unacceptable).

(1)
If I set the encoding in the jsp like this:
<%@page contentType="text/html;charset=windows-1256"%>
everything is fine. But as I told, our jsps are multilingual.

(2)
If I set the encoding in  the jsp like this:
<%
	response.setContentType("text/html;charset=windows-1256");
%>
the results are just question marks. The same thing happens if the arabic
text is not hardcoded in the jsp but comes from a varable.


The generated java code for the jsps is :
(1)


.....
      _jspxFactory = JspFactory.getDefaultFactory();
	/////////////////////////////////////////////////////////
	// set encoding
	/////////////////////////////////////////////////////////
      response.setContentType("text/html;charset=windows-1256");
      pageContext = _jspxFactory.getPageContext(this, request, response,
      			null, true, 8192, true);
      application = pageContext.getServletContext();
      config = pageContext.getServletConfig();
      session = pageContext.getSession();
      out = pageContext.getOut();
      _jspx_out = out;

      out.write("\r\nhallاÙ"Ø£Ù^Ù"Ù? - اÙ"صفحة  اÙ"عربÙSØ©
-
سÙ^ÙSس Ø¥Ù?فÙ^: أخبار Ù^Ù...عÙ"Ù^Ù...ات عÙ?
سÙ^ÙSسراooo");
...

(2)
....
      _jspxFactory = JspFactory.getDefaultFactory();
	/////////////////////////////////////////////////////////
	// set encoding
	/////////////////////////////////////////////////////////
      response.setContentType("text/html;charset=ISO-8859-1");
//(***)
      pageContext = _jspxFactory.getPageContext(this, request, response,
      			null, true, 8192, true);
      application = pageContext.getServletContext();
      config = pageContext.getServletConfig();
      session = pageContext.getSession();
      out = pageContext.getOut();
      _jspx_out = out;
	/////////////////////////////////////////////////////////
	// set encoding
	/////////////////////////////////////////////////////////
	response.setContentType("text/html;charset=windows-1256");

      out.write("\r\nhallÃ?áÃfæáì - Ã?áÃ*ÝÍÃ?  Ã?áÃsÃ'Ã^íÃ?
-
Ã"æíÃ" Ã...äÝæ: ÃfÎÃ^Ã?Ã' æãÃsáæãÃ?ÃS Ãsä Ã"æíÃ"Ã'Ã?ooo");
....


So my problems are:
-Tomcat (from 4.1.29) sets a default encoding in the http-header. 
Can I tell tomcat not to set a default encoding without setting one myself? 

-If I set an encoding myself (in a servlet or in a jsp) the results are
questionmarks. I think the reason is (***).
Can anybody tell me how to display arabic without putting <%@page
contentType="text/html;charset=windows-1256"%> on the top of every jsp page?


Thanks Thomas


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


Mime
View raw message