我在我的web.xml文件中添加了以下代码
<filter>
<filter-name>forceUTF8CharSet</filter-name>
<filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>forceUTF8CharSet</filter-name>
<url-pattern>*</url-pattern>
</filter-mapping>
在数据库中我做了这些更改
CREATE TABLE `group_distribution` (
`gd_id` int(11) NOT NULL,
`gd_tweet` varchar(500) CHARACTER SET utf8 NOT NULL,
`gd_ht` varchar(45) CHARACTER SET utf8 DEFAULT NULL,
`gt_created_by` int(11) DEFAULT NULL,
`gt_team_lead` int(11) DEFAULT NULL,
`gt_send_to` int(11) DEFAULT NULL,
`gt_added_dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`gt_update_dt` timestamp NULL DEFAULT NULL,
`gt_active_flag` tinyint(1) NOT NULL,
PRIMARY KEY (`gd_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
当我通过MySQL客户端将数据插入Db时它的工作正常,但当我在JSF页面数据库中插入相同数据时显示这样的数据
??????? ?? ?????? ?? ???????? ?????? ?? ?????? ???? ????? ??? ????? ???????? ??? ?? ?????? ?? ??? ???? ??? Test data
同样在模板文件中我添加了这一行
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
JSF页面能够以印地语字体显示数据,但在转到Db时显示相同数据???????
答案 0 :(得分:0)
感谢Facebook中的Primefaces Group成员在我的 application-context.xml 文件中找到了解决方案我更改了jdbc网址
<property name="jdbcUrl" value="jdbc:mysql://ipaddress:3306/ccc?useUnicode=true&characterEncoding=utf-8" />
之前的情况如下所示
<property name="jdbcUrl" value="jdbc:mysql://ipaddress:3306/ccc " />
答案 1 :(得分:-1)
尝试将此添加到web.xml
<jsp-config>
<jsp-property-group>
<url-pattern>*.*</url-pattern>
<page-encoding>UTF-8</page-encoding>
</jsp-property-group>
</jsp-config>
在tomcat / config / server.xml文件中将URIEncoding =“UTF-8”添加到连接器中,如下所示:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"/>