Hi,
I tested your sample form with the latest trunk of the Engine bundle
(this corresponds to the sling.core bundle contained in the JCR Cup
downloadable) does not exhibit this problem anymore.
We will soon create releases of the main bundles which have been updated
since the first release.
Regards
Felix
Felix Meschberger schrieb:
Hi Jürg,
Juerg Meier schrieb:
Hi Felix,
I am working again CRX-quickstart 1.4.0, so that's Jetty based (you'd
know the exact version).
IIRC CRX-quickstart is not Jetty based but based on Day's own servlet
container (known as Day Servlet Endine or CQSE).
I have not noticed differences among browsers. Firefox 1.5 (Linux) and
2.0 (win), IE 6 & 7 all behaved the same... both, in yielding wrong
results at first place, and correct ones after improving the POST
parameters.
No differences amongst browser behaviour is very good ;:-)
Will check into this. I know that we fixed a lot of such encoding issues
shortly before release. But I am not sure, which of these fixes made it
into the CRX-quickstart package.
So, it looks like it is really a server problem. Strange that Jetty
works in utf-8 mode by default. Judging by symptoms, looks like it runs
in ISO-mode.
I will try to see, what is going on here and report back. But this may
take some time...
Regards
Felix
Regards,
Juerg
On Thu, 2008-08-21 at 08:56 +0200, Felix Meschberger wrote:
Hi Jürg,
Great that it works.
Just let me add that non-ASCII character support seems to be a really
tough topic. As you write the best results may be obtained by using
POST requests and with multipart/form-data because
multipart/form-data parsing is controlled by Sling while parsing of
url encoded form data is controlled by the servlet container. And
here we have deviations between different containers -- for example
Jetty uses UTF-8 by default while others use ISO-8859-1 (as the
servlet spec seems to mandate); and we try to circumvent the Jetty
issue with a hack.
If you could provide use with the browser name and version and the
servlet container name and version you use when encountering the
issue, we could record this situation to help out others in the
future or to even find an appropriate solution.
Thanks.
Regards
Felix
Juerg Meier schrieb:
Hi Tobias,
_charset_ was good, though it did not do the job entirely.
I was pretty disappointed when I still had the klingon characters on my
screen... But I tried several things, among others setting the form's
enctype to multipart/form-data. Then, there were there... finally!
Thanks so much for the tip, Tobias!
Cheers,
Juerg
On Wed, 2008-08-20 at 02:05 +0200, Tobias Bocanegra wrote:
hi,
the FormEncoding parameter was renamed to _charset_ (see [0]):
so:
<input name="_charset_" type="hidden" value="UTF-8"/>
should do the trick.
regards, toby
[0] https://issues.apache.org/jira/browse/SLING-298
On 8/19/08, Juerg Meier <[EMAIL PROTECTED]> wrote:
Hi all,
This problem is driving me nuts...
I don't get UTF-8 Umlaute correctly into the JCR. I double-checked
everything to ensure the page is *really* UTF-8, and lately I
discovered
the thing with the hidden "FormEncoding" parameter. But instead of
getting a clean 'ü', I still get something like "ü" (two byte
UFT-8),
and additionally a string property named "FormEncoding" on that
node...
Here's the JSP:
<?xml version="1.0" encoding="UTF-8" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<[EMAIL PROTECTED] import="javax.jcr.query.*, javax.jcr.*,
org.apache.sling.api.resource.Resource"%>
<[EMAIL PROTECTED] session="false"%>
<[EMAIL PROTECTED] prefix="sling"
uri="http://sling.apache.org/taglibs/sling/1.0"%>
<sling:defineObjects/>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8" />
<title>Insert title here</title>
</head>
<body>
<form name="form1" method="post" action="<%=
currentNode.getPath()%>"
>
<table width="80%" border="0" cellspacing="4"
cellpadding="4">
<tr>
<td>Titel:</td>
<td><input name="title" type="text" id="title"
size="80"
maxlength="128" value="<%=
currentNode.getProperty("title").getString()
%>"></td>
</tr>
<tr>
<td><input name="FormEncoding" type="hidden"
value="UTF-8"/> </td>
<td><input type="submit" value="Ändern"></td>
</tr>
</table>
</form>
</body>
</html>
Here what the browser sends:
POSTDATA=title=Hilfe+bei+Wetterf%C3%BChligkeit&FormEncoding=UTF-8
Any help is highly appreciated!
Regards,
Juerg