gpt4 book ai didi

java - struts, hibernate, mysql - 字符编码问题

转载 作者:行者123 更新时间:2023-11-29 02:07:13 25 4
gpt4 key购买 nike

我有一个网络应用程序,它从用户那里收集一些数据并将它们保存到 mysql 数据库中。问题在于,对于像“Ajánlat kiküldése”这样的字符串,存储到数据库中的是“Ajánlat kiküldése”。

对于我的数据库,我有 DEFAULT CHARACTER SET utf8。对于我的表,我有 DEFAULT CHARSET=utf8。

在我的 hibernate.cfg.xml 中我有:

<property name="hibernate.connection.useUnicode">true</property>
<property name="hibernate.connection.characterEncoding">UTF-8</property>
<property name="hibernate.connection.charSet">UTF-8</property>

如果我使用 mysql 客户端将“Ajánlat kiküldése”直接输入到数据库中,文本将被正确存储。所以在我的应用程序中的某个地方,文本被更改了。

我的 jspx 页面中有这个:

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

对于我的表单,我使用 surts html taglib,代码非常简单:

<html:form action="/submitAddProject">
<table>
<tr>
<td>name</td>
<td>
<html:text property="projectNameToAdd"/>
<td>
etc.

在提交时,当我执行 myForm.getProjectNameToAdd 时,我得到的文本与我在表单中输入的文本不同。 (Ajánlat kiküldése 而不是 Ajánlat kiküldése)

最佳答案

我有一个类似的问题,但我的问题直接在于 hibernate 将数据保存在 MySQL 中。通过将 useUnicode=true&characterEncoding=UTF-8 附加到配置文件中的连接字符串,可以轻松解决此问题。

例如:jdbc.databaseurl=jdbc:mysql://localhost:3306/myHibernateDB?useUnicode=true&characterEncoding=UTF-8

对我来说就像一个魔法。

这是谈论它的文章:http://www.isocra.com/2007/01/utf-8-with-hibernate-30-and-mysql/

关于java - struts, hibernate, mysql - 字符编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3896497/

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