gpt4 book ai didi

php - 特殊字符破坏json返回到jQuery

转载 作者:行者123 更新时间:2023-12-01 05:04:28 24 4
gpt4 key购买 nike

以下 jQuery ajax 函数运行一个 PHP 脚本,该脚本查询包含编码为 UTF-8 的条目的 MySQL 数据库:

function searchLocations() {

var stateSelected = $("#stateSelect").val();

$.ajax({
url: 'ajax/json.php',
dataType: 'json',
data: 'state='+stateSelected,
success: function(data) {
placeMarkers(data.markerdata.markers);
}
});

}

返回到函数的 JSON 对象包含 map 标记对象的经度和纬度,以及单击每个标记时在信息窗口中显示的名称。

除了包含字符“ñ”的单个名称外,每个名称都加载良好,并且显示没有问题。该名称在 JSON 对象中返回为“null”。如何才能让这个名字正确显示?

最佳答案

我曾经遇到过这个问题,我发现有两个选择:

  1. 在 PHP 中,使用 PHP 函数 htmlentities (http://php.net/manual/en/function.htmlentities.php) 将所有字符转换为 HTML 友好字符,然后将其返回到 jQuery 函数。
  2. 如果失败或字符未转换,您可以尝试使用 Base64 编码和解码。在 PHP 中,您可以使用 base64_encode 函数(http://php.net/manual/en/function.base64-encode.php)对数据进行编码。然后在 jQuery 中,您可以使用许多 Base64 编码和解码插件之一来解码数据。我过去曾成功使用过这个插件:http://plugins.jquery.com/project/base64-encode-and-decode

如果这两个选项都失败,则可能需要查看页面使用的字符集。尝试使用 UTF-8 对 HTML 进行编码,看看是否有帮助。

在不使用 jQuery 和 AJAX 的情况下,如果您创建了一个基本的 PHP 页面来查询相关数据并打印出名称,它是否仍然无法正确显示。如果不是,也可能是 MySQL 的字符集问题。

希望这些指示有所帮助。让我知道你的进展如何。

关于php - 特殊字符破坏json返回到jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7084578/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com