繁体   English   中英

将数据保存到数据库中的JSF2 UTF-8编码问题

[英]JSF2 UTF-8 Encoding issue with saving data into database

我在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;

当我通过My​​SQL Client正常地将数据插入Db时,它的工作正常,但是当我使用JSF页面数据库插入相同的数据时,显示的是这样的数据

??????? ?? ?????? ?? ???????? ?????? ?? ?????? ???? ????? ??? ????? ???????? ??? ?? ?????? ?? ??? ???? ??? Test data

同样在模板文件中我添加了这一行

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

JSF页面能够以印地语字体显示数据,但转到Db时显示的数据却相同?

感谢Facebook中的Primefaces Group成员在我的application-context.xml文件中获得了解决方案,我更改了jdbc网址

<property name="jdbcUrl" value="jdbc:mysql://ipaddress:3306/ccc?useUnicode=true&amp;characterEncoding=utf-8" />

以前看起来像下面

<property name="jdbcUrl" value="jdbc:mysql://ipaddress:3306/ccc " />

尝试将其添加到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"/>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM