Date: Fri, 21 May 2004 10:05:19 +0300 (EEST) From: Anton Yudin <toha@ib.com.ua> To: freebsd-java@freebsd.org, sk@pressevent.com Subject: Re: JDK142_p6 - non-ascii encoding problem? Message-ID: <200405210705.i4L75JZv040543@ib.com.ua> In-Reply-To: <009301c43eae$296f7b20$1401a8c0@na.corp.yr.com>
next in thread | previous in thread | raw e-mail | index | archive | help
> > Hello, > > I'm running FreeBSD 4.9-STABLE, jdk1.4.2_p6 and Tomcat 4.1.30 or 5.0.24 > and keep having a problem with non-Latin1 characters output by JSPs. > This problem seems to be specific to FreeBSD as it doesn't occur on > Windows (I'm testing Solaris as well). > > A JSP receives a request attribute containing a string of non-Latin1 > characters (Cyrillic Windows, Simplified Chinese gb2312, etc.) > > When the string is output within a page via c:out, struts bean:write or > <%=name%>, JspWriter converts all non-Latin1 chars to '?'. > > I can correct it with either of the following tricks, but the > application is too big to replicate them in all JSPs: > <%@page language="java" > contentType="text/html;charset=gb2312" > import= "java.nio.charset.*, > java.nio.CharBuffer, > java.nio.ByteBuffer" > %> > <% > String orig = (String) request.getAttribute("original"); > String encoded = new String(orig.getBytes("ISO-8859-1"),"gb2312"); > %> > ... > <%= encoded %> > ... > <% > Charset gb2312 = Charset.forName("gb2312"); > Charset iso = Charset.forName("ISO-8859-1"); > CharBuffer cb = CharBuffer.wrap(orig); > ByteBuffer bb = iso.encode(cb); > %> > ... > <%= gb2312.decode(bb) %> > > Am I missing something in the configuration of FreeBSD and JDK? > > I tried setting > LANGUAGE zh_CN > LANG zh_CN.gb2312 > LC_TYPE zh_CN > LC_ALL zh_CN > MM_CHARSET gb2312 > > In /etc/profile etc., but to no avail. Perhaps someone knows the > solution to this? > > Thanks in advance, > > Sergei Komarov > I think UTF-8 will help you ...
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200405210705.i4L75JZv040543>