This is a discussion on RE: JDK142_p6 - non-ascii encoding problem? - FreeBSD ; Thank you for your suggestions. It turns out that the issue is not FreeBSD-specific: I was able to replicate it on Solaris. In the end, I opted for implementing the transcoding in a custom taglib and upgrading the app. Thank ...
Thank you for your suggestions. It turns out that the issue is not
FreeBSD-specific: I was able to replicate it on Solaris. In the end, I
opted for implementing the transcoding in a custom taglib and upgrading
From: Panagiotis Astithas [firstname.lastname@example.org]
Sent: Friday, May 21, 2004 2:55 AM
To: Sergei Komarov
Subject: Re: JDK142_p6 - non-ascii encoding problem?
Sergei Komarov wrote:
> 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 cut, 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
> import= "java.nio.charset.*,
> 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?
You could try adding the following to the default class in
and then doing "cap_mkdb /etc/login.conf".
You could also have just mis-spelled the locale.
Electrical & Computer Engineer, PhD
Network Management Center
National Technical University of Athens, Greece
email@example.com mailing list
To unsubscribe, send any mail to "firstname.lastname@example.org"