作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 jQuery Autocomplete,在我的本地机器上它可以很好地处理特殊的西类牙字符,但是在服务器上,它无法正确显示。
本地机器:
注意“Fernando Cañas”的正确显示。本地没问题。然后我将我的 PHP 文件部署到我的 linux 服务器(运行 MySQL),运行同样的东西,然后我得到“Fernando Ca�as”。
奇怪的是,当我在浏览器窗口中查看原始 json 时,它正确显示:“Fernando Cañas”。但是在 Chrome 开发者工具中(从服务器运行到我本地的 Chrome),它又是错误的:
总而言之,在我的本地 PC(Windows 10、运行 PHP 的 IIS 和 MySQL)上,一切都很完美。但是在我的 Linux 服务器上(在 Apache 和 MySQL 上运行 PHP),这是故障:
这是服务器发出的 json(当我在本地运行时相同):
{"id":"4225","value":"Fernando Cañas - (555) 555-5555"}
这是我的jquery:
$("#SearchStudents").autocomplete({
formatResult: function(row) {
return $('<div/>').html(row).html();
},
source: function(request, response) {
$.ajax({
url: "SearchStudents.php",
dataType: "json",
data: {
term: request.term,
IncludeInactive: document.getElementById("chkSearchInactive").checked
},
success: function(data) {
console.log(data);
response(data);
}
});
},
minLength: 2,
open: function() {
$('#SearchStudents').autocomplete("widget").width(350);
},
select: function(event, ui) {
location.href = "Students.php?StudentID=" + ui.item.id;
}
});
请注意,无论是否存在,以下 block 都没有区别:
formatResult: function(row) {
return $('<div/>').html(row).html();
}
解决方案是什么?
最佳答案
您的服务器似乎存在 utf8 问题,请确保:
utf8_spanish_ci
(您可以在 phpMyAdmin 中的操作 > 排序规则下更改它)<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
header("Content-Type: text/html;charset=utf-8");
.$db->query("SET NAMES 'utf8'");
SELECT convert(cast(convert(content using latin1) as binary) using utf8) AS content
您可以在以下位置阅读更多相关信息:http://xaviesteve.com/354/acentos-y-enes-aparecen-mal-a%C2%B1-en-php-con-mysql-utf-8-iso-8859-1/
关于php - jQuery UI 自动完成 - 西类牙字符在本地正确显示但在服务器上不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41412241/
我是一名优秀的程序员,十分优秀!