I type hebrew characters in a h:inputTextarea, click save and it turns into
שדשגש format
its being saved into a bean value="#{myBean.myText}" ...
and inside the setter its already looks in this weird format
אאא
so than the getter returns it back to the inputtextarea all messed up...
Michael Kurz wrote:
>
> What happens exactly? Do you enter the hebrew characters in a
> h:inputTextarea, save them and re-display them in a h:outputText? If
> yes, please try to set escape="false" on the h:outputText. This might be
> an escape problem.
>
> Michael
>
> Am 25.08.2010 22:24, schrieb Daniel_R:
>>
>> Thanks for the reply,
>> but nevermind the encoding i used.. nothing works..
>>
>> i keep on getting the weird number encodings
>> שדשגשג
>> דשג\דשג
>> ד\שגדשג
>>
>> :/
>>
>> i used all know encodings....
>>
>>
>>
>> Cédric Durmont wrote:
>>>
>>> Oh, charset encoding... don't get me started about that ! ;o) I had a
>>> hard time trying to figure out how to configure that beast properly
>>> for my locale (French, and win1252 charset which I had to use for some
>>> obscure database reasons).
>>> Try to add this filter (source below) and set it up properly in your
>>> web.xml :
>>> <filter>
>>> <filter-name>SetCharacterEncoding</filter-name>
>>> <filter-class>filters.SetCharacterEncodingFilter</filter-class>
>>> <init-param>
>>> <param-name>encoding</param-name>
>>> <param-value><!-- put your charset here --></param-value>
>>> </init-param>
>>> </filter>
>>> <filter-mapping>
>>> <filter-name>SetCharacterEncoding</filter-name>
>>> <url-pattern>*.xhtml</url-pattern>
>>> </filter-mapping>
>>>
>>> It's taken from the examples bundled with Tomcat. I just adapted it a
>>> bit to handle Trinidad partial page rendering properly.
>>>
>>> Hope this helps (as I don't know Hebrew at all, I don't understand
>>> what's wrong in the example you give...)
>>> Regards
>>> Cedric Durmont
>>>
>>>
>>>
>>> SetCharacterEncodingFilter.java
>>> =============snip=snip=snip============
>>> /*
>>> * $Revision: 1.4 $
>>> * $Date: 2010/07/05 13:26:29 $
>>> *
>>> * ====================================================================
>>> *
>>> * The Apache Software License, Version 1.1
>>> *
>>> * Copyright (c) 1999-2001 The Apache Software Foundation. All rights
>>> * reserved.
>>> *
>>> * Redistribution and use in source and binary forms, with or without
>>> * modification, are permitted provided that the following conditions
>>> * are met:
>>> *
>>> * 1. Redistributions of source code must retain the above copyright
>>> * notice, this list of conditions and the following disclaimer.
>>> *
>>> * 2. Redistributions in binary form must reproduce the above copyright
>>> * notice, this list of conditions and the following disclaimer in
>>> * the documentation and/or other materials provided with the
>>> * distribution.
>>> *
>>> * 3. The end-user documentation included with the redistribution, if
>>> * any, must include the following acknowlegement:
>>> * "This product includes software developed by the
>>> * Apache Software Foundation (http://www.apache.org/)."
>>> * Alternately, this acknowlegement may appear in the software
>>> itself,
>>> * if and wherever such third-party acknowlegements normally appear.
>>> *
>>> * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
>>> * Foundation" must not be used to endorse or promote products
>>> derived
>>> * from this software without prior written permission. For written
>>> * permission, please contact [email protected].
>>> *
>>> * 5. Products derived from this software may not be called "Apache"
>>> * nor may "Apache" appear in their names without prior written
>>> * permission of the Apache Group.
>>> *
>>> * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
>>> * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
>>> * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
>>> * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
>>> * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
>>> * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
>>> * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
>>> * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
>>> * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
>>> * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
>>> * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
>>> * SUCH DAMAGE.
>>> * ====================================================================
>>> *
>>> * This software consists of voluntary contributions made by many
>>> * individuals on behalf of the Apache Software Foundation. For more
>>> * information on the Apache Software Foundation, please see
>>> *<http://www.apache.org/>.
>>> *
>>> * [Additional notices, if required by prior licensing conditions]
>>> *
>>> */
>>> package filters;
>>>
>>> import java.io.IOException;
>>>
>>> import javax.servlet.Filter;
>>> import javax.servlet.FilterChain;
>>> import javax.servlet.FilterConfig;
>>> import javax.servlet.ServletException;
>>> import javax.servlet.ServletRequest;
>>> import javax.servlet.ServletResponse;
>>> import javax.servlet.http.HttpServletRequest;
>>>
>>> import org.apache.commons.logging.Log;
>>> import org.apache.commons.logging.LogFactory;
>>>
>>>
>>> /**
>>> *<p>Example filter that sets the character encoding to be used in
>>> parsing the
>>> * incoming request, either unconditionally or only if the client did
>>> not
>>> * specify a character encoding. Configuration of this filter is based
>>> on
>>> * the following initialization parameters:</p>
>>> *<ul>
>>> *<li><strong>encoding</strong> - The character encoding to be
>>> configured
>>> * for this request, either conditionally or unconditionally based
>>> on
>>> * the<code>ignore</code> initialization parameter. This
>>> parameter
>>> * is required, so there is no default.</li>
>>> *<li><strong>ignore</strong> - If set to "true", any character
>>> encoding
>>> * specified by the client is ignored, and the value returned by
>>> the
>>> *<code>selectEncoding()</code> method is set. If set to "false,
>>> *<code>selectEncoding()</code> is called<strong>only</strong> if
>>> the
>>> * client has not already specified an encoding. By default, this
>>> * parameter is set to "true".</li>
>>> *</ul>
>>> *
>>> *<p>Although this filter can be used unchanged, it is also easy to
>>> * subclass it and make the<code>selectEncoding()</code> method more
>>> * intelligent about what encoding to choose, based on characteristics
>>> of
>>> * the incoming request (such as the values of the
>>> <code>Accept-Language</code>
>>> * and<code>User-Agent</code> headers, or a value stashed in the
>>> current
>>> * user's session.</p>
>>> *
>>> * @author Craig McClanahan
>>> * @version $Revision: 1.4 $ $Date: 2010/07/05 13:26:29 $
>>> */
>>>
>>> public class SetCharacterEncodingFilter implements Filter {
>>>
>>> private static Log
>>> log=LogFactory.getLog(SetCharacterEncodingFilter.class);
>>>
>>> // ----------------------------------------------------- Instance
>>> Variables
>>>
>>>
>>> /**
>>> * The default character encoding to set for requests that pass
>>> through
>>> * this filter.
>>> */
>>> protected String encoding = null;
>>>
>>>
>>> /**
>>> * The filter configuration object we are associated with. If this
>>> value
>>> * is null, this filter instance is not currently configured.
>>> */
>>> protected FilterConfig filterConfig = null;
>>>
>>>
>>> /**
>>> * Should a character encoding specified by the client be ignored?
>>> */
>>> protected boolean ignore = true;
>>>
>>>
>>> // --------------------------------------------------------- Public
>>> Methods
>>>
>>>
>>> /**
>>> * Take this filter out of service.
>>> */
>>> public void destroy() {
>>>
>>> this.encoding = null;
>>> this.filterConfig = null;
>>>
>>> }
>>>
>>>
>>> /**
>>> * Select and set (if specified) the character encoding to be used
>>> to
>>> * interpret request parameters for this request.
>>> *
>>> * @param request The servlet request we are processing
>>> * @param result The servlet response we are creating
>>> * @param chain The filter chain we are processing
>>> *
>>> * @exception IOException if an input/output error occurs
>>> * @exception ServletException if a servlet error occurs
>>> */
>>> public void doFilter(ServletRequest request, ServletResponse
>>> response,
>>> FilterChain chain)
>>> throws IOException, ServletException {
>>>
>>> // Conditionally select and set the character encoding to be
>>> used
>>> if (ignore || (request.getCharacterEncoding() == null)) {
>>> String encoding = selectEncoding(request);
>>> if
>>> ("true".equals(((HttpServletRequest)(request)).getHeader("Tr-XHR-Message"))
>>> )
>>> request.setCharacterEncoding("utf-8");
>>> else
>>> if (encoding != null)
>>> request.setCharacterEncoding(encoding);
>>> }
>>> // Pass control on to the next filter
>>> chain.doFilter(request, response);
>>>
>>> }
>>>
>>>
>>> /**
>>> * Place this filter into service.
>>> *
>>> * @param filterConfig The filter configuration object
>>> */
>>> public void init(FilterConfig filterConfig) throws ServletException
>>> {
>>>
>>> this.filterConfig = filterConfig;
>>> this.encoding = filterConfig.getInitParameter("encoding");
>>> String value = filterConfig.getInitParameter("ignore");
>>> if (value == null)
>>> this.ignore = true;
>>> else if (value.equalsIgnoreCase("true"))
>>> this.ignore = true;
>>> else if (value.equalsIgnoreCase("yes"))
>>> this.ignore = true;
>>> else
>>> this.ignore = false;
>>>
>>> }
>>>
>>>
>>> // ------------------------------------------------------ Protected
>>> Methods
>>>
>>>
>>> /**
>>> * Select an appropriate character encoding to be used, based on
>>> the
>>> * characteristics of the current request and/or filter
>>> initialization
>>> * parameters. If no character encoding should be set, return
>>> *<code>null</code>.
>>> *<p>
>>> * The default implementation unconditionally returns the value
>>> configured
>>> * by the<strong>encoding</strong> initialization parameter for
>>> this
>>> * filter.
>>> *
>>> * @param request The servlet request we are processing
>>> */
>>> protected String selectEncoding(ServletRequest request) {
>>>
>>> return (this.encoding);
>>>
>>> }
>>>
>>>
>>> }
>>> ==============snip=snip=snip=================
>>>
>>>
>>
>
>
--
View this message in context:
http://old.nabble.com/page-lang%5C-encoding-error-after-moving-to-myFaces-from-mojarra----tp29525029p29546011.html
Sent from the MyFaces - Users mailing list archive at Nabble.com.