0

我有一个带有表单的 html 页面,以及以下代码:

$.ajax({
   url: 'xxxxx',
   data: $('#contact-form').serialize(),
   type: 'post',
   cache: false,
   dataType: 'html',
   success: function (data) {....},
   error: contact.error
});

当我从 html 页面通过邮件发送字符串时,例如,字符串áéíúó,在 Java 中,我收到了字符串áéíúó。我应该怎么做才能解决这个问题?任何帮助都会非常有用。

(日期 20131401)解决方案: @TechSpellBound,感谢您的回复。您的解决方案促使我搜索另一个:D,我找到了另外两个对我有用的解决方案:1)在 Java 中,使用以下代码:

String param =  new String(req.getParameter("param").getBytes(), "iso-8859-1");

2) 其他解决方案是,在我的 Tomcat 中配置文件 web.xml 并放入:

    <filter>
        <filter-name>setCharacterEncodingFilter</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>
        <async-supported>true</async-supported>
</filter>   

<filter-mapping>
    <filter-name>setCharacterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

然后文件 server.xml,把属性 URIEncoding="UTF-8" 放在所有配置的连接器中。再次感谢。

4

1 回答 1

1

尝试在您的 HTML 页面中声明以下内容之一:

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

或者

为了跨浏览器兼容性,添加:

<?xml version="1.0" encoding="UTF-8"?>

在 HTML 页面的顶部和

<head>
    <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8">
...
</head>
于 2013-01-11T15:21:29.897 回答