gpt4 book ai didi

java - 使 UTF-8 可用于使用 Spring 将阿拉伯语数据放入 Mysql DB

转载 作者:可可西里 更新时间:2023-11-01 08:30:39 26 4
gpt4 key购买 nike

大家好,我想把阿拉伯语数据和我的代码放在我的 webApp 的 mysql 数据库中:

我使用的技术是:Spring MVC/Hibernate:

它是我的业务逻辑部分的代码:

 transaction.setExplaination("Something with Arabic alphabet");
..
..
getHibernateTemplate().saveOrUpdate(transaction);

当我得到我的交易的解释并在 .jsp 页面中显示它时,它显示为 ??????这是我的问题。

在 mvc-dispatcher-servlet.xml 中:

起初我用它:

  <bean id="driverManagerDataSource"   class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/DB_Name?useUnicode=true&characterEncoding=UTF-8"/>
<property name="username" value="root"/>
<property name="password" value="myjava123"/>

</bean>

但它会导致我的 xml 出错,所以我删除了它。

我用过 org.springframework.web.filter.CharacterEncodingFilter在我的 web.xml 中:

 <filter>
<filter-name>encodingFilter</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>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

但结果也没有区别

如果有人告诉我有效的方法,我将不胜感激

最佳答案

您在 XML 中遇到的错误很可能是由于使用了“&”,这在 XML 中不是允许的实体。您绝对应该对连接进行编码,因此工作连接 url 应该类似于

<property name="url" value="jdbc:mysql://localhost:3306/DB_Name?useUnicode=true&amp;characterEncoding=UTF-8"/>

您还可以确保您的服务器配置正确,例如为 tomcat 添加 URIEncoding 到连接器

<connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>

将指定用于解码 URI 的字符编码。你应该为你的服务器找到一个等价物

关于java - 使 UTF-8 可用于使用 Spring 将阿拉伯语数据放入 Mysql DB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27646213/

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