gpt4 book ai didi

mysql - 如何在 Spring JSF MySQL 应用程序中正确显示阿拉伯语?

转载 作者:行者123 更新时间:2023-11-29 02:03:51 26 4
gpt4 key购买 nike

我正在使用 spring 3JSF 2MYSQLHibernate,而 Heidi SQL 是 GUI数据库工具我遇到了阿拉伯字符的编码问题,阿拉伯语单词作为 ?????????? 插入数据库并以相同的形式出现在 View 中。

所以这是我的编码配置:

1- 数据库:

  • 字符集:utf 8

  • 整理:utf8_general_ci

2- Spring :

我正在使用以下过滤器:

<filter>
<filter-name>encoding-filter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encoding-filter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>

3- JSF:

据我所知:Facelets 默认使用 UTF-8

4- hibernate :

这是数据库的连接 url:

jdbc:mysql://127.0.0.1:3306/mydb?zeroDateTimeBehavior=convertToNull&useUnicode=true&connectionCollation=utf8_general_ci&characterSetResults=utf8

如果我在配置中遗漏了什么,请告知。

最佳答案

您忘记了 JDBC URL 中的 characterEncoding=UTF-8 参数。这是修改后的 JDBC URL,其中包含使其能够正确处理 UTF-8 所需的最少参数:

jdbc:mysql://127.0.0.1:3306/mydb?useUnicode=true&characterEncoding=UTF-8

另见:

关于mysql - 如何在 Spring JSF MySQL 应用程序中正确显示阿拉伯语?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9993771/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com