Php 将希腊字符从MySQL返回到Javascript
我正在尝试创建一个表单,它使用JQuery自动完成从MySQL表中获取值。我对Javascript和AJAX非常陌生,但我已经开始使用它了。当我在输入字段中键入1个字母时,我会得到一个下拉列表,其中包含表中的匹配值。这适用于正常字符a-z、1-9。但是,我还有一个包含以下值的表: 10纳克 100纳克 1微克 最后一个给了我问题,因为它包含一个希腊字符。当我键入“1”时,它应该在下拉菜单中返回所有3个值。相反,它不会返回任何内容。当我键入“10”时,它返回前2个值,如预期的那样。如果我试着输入'g'和'ng'也是一样的 这是我的Javascript代码:Php 将希腊字符从MySQL返回到Javascript,php,jquery,mysql,ajax,Php,Jquery,Mysql,Ajax,我正在尝试创建一个表单,它使用JQuery自动完成从MySQL表中获取值。我对Javascript和AJAX非常陌生,但我已经开始使用它了。当我在输入字段中键入1个字母时,我会得到一个下拉列表,其中包含表中的匹配值。这适用于正常字符a-z、1-9。但是,我还有一个包含以下值的表: 10纳克 100纳克 1微克 最后一个给了我问题,因为它包含一个希腊字符。当我键入“1”时,它应该在下拉菜单中返回所有3个值。相反,它不会返回任何内容。当我键入“10”时,它返回前2个值,如预期的那样。如果我试着输入'
$(function() {
$(".ajax_getid_").each(function () {
(function ($this) {
$this.autocomplete({
response: function(event, ui) {
try {
if (ui.content.length === 0) {
$("#"+event.target.id+"-empty-message").text("No results found");
} else {
$("#"+event.target.id+"-empty-message").empty();
}
} catch(err) {
error = "Error 1: "+err.message;
alert(error);
}
},
source: function(request, response) {
try {
$.ajax({
url: "list_"+$this.attr('id')+".php",
dataType: "json",
data: {
term : request.term
},
success: function(data) {
response(data);
console.log(data);
}
});
} catch(err) {
error = "Error 2: "+err.message;
alert(error);
}
},
minlength: 1
});
})($(this));
});
});
在四处搜索时,我从数据库中找到了一些关于响应编码的信息。但是由于正常字符的返回没有任何问题,我不确定这是否是问题所在。如果是的话,我也不知道该怎么解决
编辑:
如果我尝试在一个简单的html表中可视化MySQL表,这也不会有问题。。。
当我尝试将响应打印到控制台Google Chrome时,我得到以下错误:Uncaught TypeError:无法读取null的属性“label” 尝试对您的请求进行编码,请参见:。所以
那没有任何效果。我认为问题更多的是回应而不是请求。。。
...
dataType: "json",
data: {
term : encodeURI(request.term)
},
....