0

我有一个表格,可以提交姓名、地址、附属机构等详细信息。在这里,这些输入将使用不同的语言,如法语、西班牙语、德语、俄语等。我指出,这些输入有时具有非英文键盘字符,并且以不同的字符形式提交,例如 &、^ 等。

例如,

这是输入

Instituto de Quı´mica, 圣奥保罗大学, 圣奥保罗, 巴西

这是我提交表单时保存在数据库中的数据

Instituto de Qu?´mica, Universidade de Sa˜ o Paulo, Sa˜ o Paulo, Brazil

我在数据库和jsp页面中将字符集设置为UTF-8,后来我发现struts 2表单有一个标签属性 acceptcharset="UTF-8"

它只适用于少数其他语言,但不适用于西班牙语、葡萄牙语等等。那么这个问题的解决方案是什么?

4

3 回答 3

1

我已经通过在 HTML 页面中更改 UTF-8 来解决这个问题,pageEncodingcharset我看到这个和form我使用过的地方acceptcharset="UTF-8",最后我在将它存储在 DB 中时遇到问题,即使它的字符集是字符集是 UTF-8,所以我强制 DB 连接使用 UTF -8 通过提供jdbc:mysql://localhost:3306/yourDB?useUnicode=true&characterEncoding=utf8连接 url

于 2012-08-13T12:43:17.010 回答
0

您可以使用 Spring 过滤器,并将编码强制为 UTF8。将此添加到您的 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>
于 2012-07-27T08:35:56.937 回答
0

如果需要强制 jsp 为 UTF-8,可以在 web.xml 中编写以下内容:

<jsp-config>
    <jsp-property-group > 
        <url-pattern>*.jsp</url-pattern>
        <page-encoding>UTF-8</page-encoding>
    </jsp-property-group>
</jsp-config>
于 2012-10-04T07:53:42.953 回答