encoding utf-8
iisrail Nov 27, 2008 5:11 AMHi all,
I have problem with saving and demonstartion of non ascii characters. From my point of view I do all the right things
1) Defined Content-Type to utf-8
2) Defined pageEncoding to utf-8
3) In addition I've added filter to change pageEncoding to UTF-8
but when for exampe I insert one hebrew character ,I've got in database other character , or if I insert russian characters '�¼�¾Ñ��º�²�°' - moskva in dabase I've got '<>A:20'
that is my code:
jsp page:
<%@taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
<%@taglib uri="http://richfaces.org/rich" prefix="rich"%>
<%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="stylesheet.css" />
<title>Edit Node</title>
</head>
<body topmargin=20 leftmargin=20 >
<f:view>
<h:form id="form1" >
<table cellpadding=4 border=0 cellspacing=0 background="Images/bg_pattern.png" width=100%>
<tr>
<td colspan="3" style="height:15px;"></td>
</tr>
<tr>
<td style="width:20px;">Â </td>
<td class="Label">Display Text:</td>
<td><h:inputText maxlength="40" size="10" value="#{editNode.displayText}"/></td>
</tr>
<tr>
<td>
<a4j:commandButton id ="btnUpdate" value="Update" action="#{editNode.update}"/>
</td>
</tr>
</table>
</h:form>
</f:view>
</body>
</html>
Managed bean:
import com.igl.server.CMSPackage;
public class EditNodeBean {
private String displayText;
private CMSPackage daoPack ;
public EditNodeBean(){
daoPack = ServiceLocatorSingle.getInstance().getCmsPackage();
displayText = daoPack.getChar();
System.out.println("construcor " +displayText );
}
public String getDisplayText() {
System.out.println("getDisplayText " +displayText );
return displayText;
}
public void setDisplayText(String displayText) {
System.out.println("setDisplayText " +displayText );
this.displayText = displayText;
}
public String update(){
System.out.println("update " +displayText );
daoPack.updateChar(displayText);
return null;
}
}
web.xml:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>charenc</display-name> <context-param> <param-name>org.richfaces.SKIN</param-name> <param-value>blueSky</param-value> </context-param> <context-param> <param-name>javax.faces.STATE_SAVING_METHOD</param-name> <param-value>server</param-value> </context-param> <filter> <filter-name>CharsetFilter</filter-name> <filter-class>CharsetFilter</filter-class> </filter> <filter-mapping> <filter-name>CharsetFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter> <display-name>RichFaces Filter</display-name> <filter-name>richfaces</filter-name> <filter-class>org.ajax4jsf.Filter</filter-class> </filter> <filter-mapping> <filter-name>richfaces</filter-name> <servlet-name>Faces Servlet</servlet-name> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> <dispatcher>INCLUDE</dispatcher> </filter-mapping> <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>/faces/*</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> </web-app>
Please help.
Please inform me if my question was clear