0

我有一个 JSP

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

在头部部分,我尝试使用以下代码将内容设置为 UTF-8:

<%@page contentType="text/html;charset=utf-8" %>

response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");

表单中有一个输入字段:

<input type="text" value="LastName*" class="input required" name="lastName" id="lastName" />

我现在遇到了德语特殊字符的问题。

当我使用request.getParameter("lastName")时,这在 FireFox 中可以正常工作,但在 IE 中不行。

String encodedLastName = new String(request.getParameter("lastName").getBytes("iso-8859-1"), "UTF-8");

适用于 IE,但不适用于 Firefox。

我试图将所有内容更改为iso-8859-1,添加accept-charset="UTF-8"到表单中,...

现在猜测多于工作。

这只能在服务器(Tomcat)中配置,但为什么浏览器的行为会有所不同?

谢谢,马库斯

4

1 回答 1

0

有两个相互干扰的问题:

1)使用普通帖子时,我必须通过正确编码

<%@page contentType="text/html;charset=utf-8" %>

并通过正确解码

String encodedLastName = new String(request.getParameter("lastName").getBytes("iso-8859-1"), "UTF-8");

2)使用jquery时,添加

contentType: 'application/x-www-form-urlencoded; charset=UTF-8'

在 $.ajax 调用中。

于 2013-11-11T11:02:06.573 回答