谷歌地理编码不适用于数据库中带有特殊字符的地址

2023-12-04

我的谷歌地理编码数据库中的地址特殊字符有问题,但如果我对它们进行硬编码则不会。

简单的地理编码代码

$url = "http://maps.googleapis.com/maps/api/geocode/json?address=". $address . "&sensor=true";      
$jsonfile = file_get_contents($url);
$jsondata = json_decode($jsonfile);
$lat = $jsondata->results[0]->geometry->location->lat;
$lng = $jsondata->results[0]->geometry->location->lng;

此代码适用于标准地址,但当地址中包含特殊字符(如果它来自我的数据库)时则不起作用。

如果我将地址硬编码为:

$address = "10 Montée de Clausen, 1343 Luxemburg City, Luxembourg";
$address = str_replace(" ","+",$address);

该代码有效。 如果地址来自我的数据库

$query="SELECT * FROM mytable";
$result=mysqli_query($GLOBALS["___mysqli_ston"], $query);
while($row=mysqli_fetch_assoc($result)){
    $address = $row['address'];
    $address = str_replace(" ","+",$address);
    // geocode code.
}

这不起作用。

数据库采用utf8_unicode_ci。 如果我回显包含地址的 $url,即使它来自我的数据库,然后将该 url 放入浏览器中,该 url 实际上会输出正确的数据,但在我的代码中使用该 url 不起作用。

我尝试过对 str_replace 之前和 str_replace 之后的地址进行 url 编码,但它仍然不起作用。

我怎样才能让它发挥作用?


如果您执行以下操作怎么办:

$query="SELECT * FROM mytable";
$result=mysqli_query($GLOBALS["___mysqli_ston"], $query);
while($row=mysqli_fetch_assoc($result)){
    $address = urlencode(mb_convert_encoding($row['address'], 'UTF-8'));
    // geocode code...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

谷歌地理编码不适用于数据库中带有特殊字符的地址 的相关文章

  • nlohmann/json 框架中的未知断点

    一段时间以来 当我在启用断点的 Xcode 下运行我的应用程序时 我显然在名为 nlohmann basic json 的系统框架中遇到了一个未知断点 我可以毫无问题地继续执行 但这无论如何都很烦人 知道这个断点的原因是什么 或者更好的是
  • Avro 模式中是否可以有一个可选字段(即该字段根本不会出现在 .json 文件中)?

    Avro 模式中是否可以有一个可选字段 即该字段根本不会出现在 JSON 文件中 在我的 Avro 架构中 我有两个字段 name author type null string default null name importance t
  • PHP:读取所有传入 HTTP 请求的类 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在哪里可以学习网络编程从入门到精通? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我尝试做教程 但它是无组织且无结构的 我在哪里可以学习 PHP 从初学者到大师 我正在寻找类似的网站w
  • 分页显示所有其他页面上第 1 页的相同帖子

    我最近在创建即将发生的事件列表时得到了很多帮助 请参阅此处显示即将举行的活动 包括今天的活动 https stackoverflow com questions 17343615 showing upcoming events includ
  • PHP 中标头的使用

    非常简单的问题 这两个 PHP 版本 5 标头调用中哪一个是 最好的 header Not Modified true 304 header HTTP 1 1 304 Not Modified 我很确定第一个是最多价的 但只是好奇如果在 H
  • Laravel Vue 组件只能传递数字?

    在我的 UserMenu vue 中我写道 export default props nameVal data return 并在blade php中
  • 是否可以用 PHP 编写电子邮件解析器? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Facebook PHP-SDK 页面刷新后似乎丢失了 userID

    我似乎登录工作正常 我可以登录 接受应用程序 第一次 然后显示用户信息 例如姓名 图片 等 然而 当我刷新页面时 userid 又回到 0 我必须再次登录 我不确定问题是什么 我必须在每次页面加载时重新启动它还是什么 我不知道 我会发布一些
  • 如何在 Windows 上安装 Zend 框架

    安装 Zend Framework 就是这么简单 是的 对 好吧 我正在写一本初学者的书 有一件不太详细的事情是最重要的部分 安装该死的东西 浏览了几个小时的快速入门指南后 它只说 下载 Zend 添加包含目录 bla bla 然后就完成了
  • Nginx 502 网关错误。通过增加buffer来解决。为什么?

    我正在设置 LEMP 堆栈来运行 Drupal 我安装了 Nginx 和 PHP FastCGI Nginx 工作正常 但任何运行 PHP 的尝试都会出现错误 502 Bad Gateway 谷歌很快发现 nginx 502 错误网关 ht
  • 如何从shell脚本自动登录MySQL?

    我有一个 MySQL 服务器 其中有一个用户和密码 我想在 shell 脚本中执行一些 SQL 查询而不指定密码 如下所示 config sh MYSQL ROOT root MYSQL PASS password mysql sh sou
  • 使用 PHP 从 Mongo 解码 JSON

    我已经看过这个线程 PHP 解码嵌套 JSON https stackoverflow com questions 3555335 php decode nested json并没有设法用它来解决我的问题 我目前正在从 Mongo 获取 J
  • 一次从多个表中删除行

    我正在尝试将 2 个查询合并为一个这样的查询 result db gt query DELETE FROM menu WHERE name new or die db gt error result db gt query DELETE F
  • jQuery:处理 getJSON() 中的错误?

    使用 jQuery 时如何处理 500 错误getJSON http api jquery com jQuery getJSON 有几个关于错误处理的问题getJSON and https stackoverflow com questio
  • PHP 检查当前日期是在设定日期之前还是之后

    我从数据库中提取一个日期 其格式为 dd mm YYYY 我想做的是检查当前日期 如果当前日期早于数据库中的日期 则需要打印数据库日期 如果是在之后 则需要打印 继续 有人能指出我正确的方向吗 if strtotime database d
  • PHP session_regenerate_id 和黑莓浏览器

    问候 我正在开发一个登录系统 并陷入了黑莓浏览器身份验证的困境 他们似乎对 PHP 的 session regenerate id 有问题 有人可以建议替代方案吗 以下是身份验证和登录脚本 UPDATE看来会话一般都不起作用 拿出 sess
  • 使用会话 php 创建 cookie?

    我使用会话来登录我网站中的用户 问题是 我想让用户remember密码 因此关闭 打开浏览器后他们不需要再次登录 我需要使用 cookie 和 session 来实现它吗 my code user POST user pass POST p
  • 在 MySQL 中存储表情符号的编码问题:如何使用 Prisma ORM 在 NodeJS 中定义字符排序规则?

    亲爱的 Nodejs 专家和数据库专家 我们在 MySQL 数据库中存储表情符号和其他特殊字符时遇到问题 我们使用 Prisma 得到一个错误 这是我们使用的 ORM 参数无法从排序规则 utf8 general ci 转换为 utf8mb
  • 如何修改现有表以添加时区

    我有一个包含 500 多个表的大型应用程序 我必须将应用程序转换为时区感知 当前应用程序使用new java util Date GETDATE 与服务器的时区 即没有任何时区支持 我已将这项任务分为几个步骤 以便于开发 我确定的第一个步骤

随机推荐

  • 如何修复此代码以创建字符串数组?

    我想创建一个字符串数组 这是代码 include
  • 如何在 eclipselink 中禁用缓存

    我尝试通过在 persistence xml 中使用以下属性 使用 Eclipse indigo 禁用 EclipseLink 中的 L2 缓存
  • 使用 OpenMP 并行化输出

    我编写了一个必须处理大量数据的 C 应用程序 使用 OpenMP 我很好地并行化了处理阶段 但令人尴尬的是 我发现输出写入现在是瓶颈 我决定使用一个parallel for那里也是如此 因为我输出项目的顺序是无关紧要的 它们只需要作为连贯的
  • OpenCV 创建后更改关键点或描述符参数

    在最新版本中 OpenCV 允许使用 create 函数轻松创建关键点检测器 描述符或匹配器 例如 cv Ptr
  • Unix和Linux中的“dot”和“dot dot”文件是真实文件吗?

    做特殊文件 and 实际上存在并作为普通文件存储 位于文件系统中 或者仅在文件系统处理程序访问时才解释 创建它们 当前目录 父目录 我的假设是它们不存在 否则 当您创建符号链接或绑定安装时 事情就会崩溃 我认为目前接受的答案并不正确 或者至
  • 以编程方式添加代码模板?

    我正在为我们的项目编写一个自定义 XML 编辑器 并希望添加对模板的支持 即当用户写
  • Spark异常:worker中的Python版本3.4与驱动程序3.5中的版本不同

    我正在使用 Amazon EC2 并且我将主服务器和开发服务器合二为一 我还有另一个针对单个工人的实例 我对此很陌生 但我已经设法使 Spark 在独立模式下工作 现在我正在尝试集群 master 和worker 处于活动状态 我可以看到它
  • fpdf“UnicodeEncodeError:'latin-1'编解码器无法对位置 88 中的字符 '\u2013' 进行编码:序数不在范围内(256)”

    我正在尝试在 Python 中将文本文件转换为 pdf 但出现错误 为什么会发生这种情况以及如何解决 这是我的代码 import fpdf from fpdf import FPDF pdf FPDF pdf add page pdf se
  • PHP:将本地时间转换为 UTC

    假设我得到一个像这样的字符串08 22 2015 10 56 PM并且该日期 时间字符串始终仅指一个特定时区 我需要能够将其转换为这种格式 Ymd THis Z 这是 iCal 格式 如何将该字符串转换为祖鲁时间并转换为 Ymd THis
  • 如何在 Xamarin iOS 上执行简单的后台任务

    在我们的应用程序中 用户可以跟踪并提交他们记录的旅程 我需要一种在 iOS 中创建任务的简单方法 我已经在 Android 上创建并测试了它 它的工作原理是 用户选择他们想要提交的旅程 点击同步并创建一个前台服务 将旅程同步到我们的 API
  • 用于仅插入/仅查询应用程序的 ORM 框架

    我已经使用 Hibernate 多年了 从来没有遇到过任何问题 但我刚刚意识到我的大部分工作都涉及 CRUD 方法 其中我需要数据保持持久化并随意修改 这样做的问题是 有人想要制作 2 个独立的应用程序 一个用于批量插入 另一个对插入的数据
  • 格式化斯坦福 Corenlp 的 NER 输出

    我正在与斯坦福 CoreNLP 合作并将其用于 NER 但是当我提取组织名称时 我看到每个单词都标有注释 因此 如果实体是 NEW YORK TIMES 那么它会被记录为三个不同的实体 NEW YORK 和 TIMES 我们是否可以在斯坦福
  • 重用PreparedStatement

    我在我们的代码库上运行了 findbugs 它指出还有两个语句仍然需要关闭 在这部分代码中 我们运行 preparedStatement connection prepareStatement query 对于3个不同的查询 重用prepa
  • 如何使用 Greasemonkey 脚本通过 XSLT 转换 XML 文件?

    我有一个搜索服务器 它提供一个测试页面 我可以在其中输入查询并以 XML 形式返回结果 我希望能够以更加用户友好的方式浏览结果 因此我开始使用 XSLT 现在我有了一个简单的样式表 可以将不知何故臃肿的 XML 转换为仅显示部分数据的简单表
  • 仅获取白色屏幕截图

    我可以读取条形码 但无法获取屏幕快照 getScreenImage 函数获取白屏 如何获取屏幕截图 包括我看到的相机视图的屏幕 谢谢 interface igViewController
  • 处理器如何读取内存?

    我正在尝试重新实现 malloc 我需要了解对齐的目的 据我了解 如果内存对齐 代码将执行得更快 因为处理器不必采取额外的步骤来恢复被剪切的内存位 我想我明白 64 位处理器读取 64 位乘 64 位内存 现在 让我们想象一下我有一个按顺序
  • 使用 BitBlt 进行的屏幕截图会在 Windows 10 上显示黑色图像

    我正在使用下面的代码来捕获当前活动窗口的屏幕截图 这段代码来自捕获屏幕截图 包括 NET 中的半透明窗口 有一些小的添加 即它使用 GetForegroundWindow 和一个计时器 以便我可以选择所需的窗口 在 Windows 10 x
  • 在 Java 8 流中捕获 UncheckedIOException

    编辑 这似乎不可能 请参阅https bugs openjdk java net browse JDK 8039910 我有一个帮助类 它提供了Stream
  • 类型错误:“datetime.date”对象没有属性“__getitem__”

    我在我的 models py 中使用 class Pedido models Model data pedido models DateField Data do pedido cliente models ForeignKey Clien
  • 谷歌地理编码不适用于数据库中带有特殊字符的地址

    我的谷歌地理编码数据库中的地址特殊字符有问题 但如果我对它们进行硬编码则不会 简单的地理编码代码 url http maps googleapis com maps api geocode json address address sens