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







Reply via email to