jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<script type="text/javascript" charset="UTF-8">
window.onload=function()
{
Event.observe('zipCodeField','blur',validateZipCode);
$('addressField').focus();
}
function validateZipCode(event) {
new Ajax.Request('servlet/ZipCodeValidatorServlet',
{
method: 'get',
parameters: $('infoForm').serialize(true),
onSuccess: function (transport) {
if (transport.responseText.length != 0)
//alert(transport.responseText);
$('info').innerHTML=transport.responseText;
}
}
);
}
</script>
servlet
StringBuilder result=new StringBuilder();
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");
String zipCodeValue=new String(request.getParameter("zipCode").getBytes("ISO-8859-1"), "UTF-8");
System.out.println(zipCodeValue);
String address=new String(request.getParameter("address").getBytes("ISO-8859-1"), "UTF-8");
System.out.println(address);
result.append(address);
response.getWriter().write(result.toString());
为什么get方式提交没有问题post提交出现乱码
应该是两边编码不一致,你加上encoding参数(两边要一致),指定一下编码然后看看
不是这个问题,我想知道为什么使用get方式提交后台接受和显示以及页面显示都没有问题,如果改成post提交的话就会出现乱码问题。
应该是你的机器问题吧,有的时候就是会出现这个问题的,由于编码不同,你最好是添加下js参数编码
http://sjolzy.cn/ajax-servlet-returns-in-the-Chinese-garbled-garbled-garbled-post-code-submitted-by-a-large-sum.html,
你看看这个吧,应该可以帮助你点的。