使用ajax autosuggest脚本在输入名称时查询mysql数据库。当我输入带有重音的名称时,下拉列表显示的字符与我输入的字符不同。例如,当我输入姓氏Hylén时,Ajax下拉列表显示Hylén。如果名称不在数据库中,则会发生这种情况。
$(document).ready(function(){
$("input[id^='last_']").autocomplete('suggest.php',{
matchCase:true,
formatItem: function(data, i, total)
{
var s=data[0].split(",")
return s.join(" ");
}
});
$("input[id^='last_']").result(function(event, data, formatted){
var ids=this.id.split('_')
var id=ids[1]; // from last_xx got xxx
var s=html_entity_decode(data[0]).split(","); // first,middle,last
$(this).next().focus();
$(this).next().select();
//have only last value -- TAB pressed
if(s.length==1)return;
$('#first_'+id).val(s[0]);
$('#middle_'+id).val(s[1]);
$('#last_'+id).val(s[2]);
});
});
我应该注意什么来解决这个问题?
答案 0 :(得分:2)
我认为你应该看看你的编码。看起来像“é”是以ANSI或其他形式打印的“é”的2个Unicode字节。确保您使用UTF8(或UTF16或任何字符集可以处理所有字符)
希望有所帮助!