У меня есть привязка к событию onkeyup моих текстовых полей:
function ajaxSearch(sstring,miszerint,startrow,Valid,notValid) {
setTimeout(function query(){
if (sstring.length <= 3)
{
$("#external").html("<p>min 3 chars please.</p>")
}
else
{
$('#loading').ajaxStart(function() {
$(this).show()
$("#external").hide()
});
$('#loading').ajaxComplete(function() {
$(this).hide()
$("#external").show()
});
$.ajax({
type:"GET",
url: "/myApp/getStd",
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
dataType:"application/x-www-form-urlencoded; charset=UTF-8",
data:"sstring="+escape(sstring)+"&options="+miszerint+"&startrow="+startrow+"&valid="+Valid+"¬Valid="+notValid+"&searchForm=1",
async: true,
success: function(data){
$("#external").html(data);
}
})
}
},1500)
}
Проблема в том, что когда я помещаю венгерские символы (например, "úíéá ") в текстовое поле, мой сервлет возвращает" � "вместо предоставленногоchar.
Если я запрашиваю сервлет напрямую без ajax, он работает нормально. В JSP я определил:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
plus
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
На сервлете Iустановите кодировку ответа на "UTF-8". Есть идеи?