php - 如何在扫描后在Google QR码URL中包含%20空格?

标签 php google-maps qr-code

我正在尝试生成包含 Google map 路线的二维码图像。例如,我有以下 Google map URL:

$encodedmapsurl = https://www.google.nl/maps/dir/De%20Aar%2018,%208253%20PN%20Dronten/De%20Lepelaar%2012,%208251MT%20Dronten/De%20Lepelaar%201,%208251mt%20Dronten/De%20Aar%2018,%208253%20PN%20Dronten/

我生成了这样的 Google Charts QR 代码:

<img src="https://api.qrserver.com/v1/create-qr-code/?data=$encodedmapsurl&amp;size=150x150" />

我最终得到以下二维码:

enter image description here

这很好,但是,当我用移动应用程序扫描二维码时,结果是:

enter image description here

请注意,URL 本身对于 URL 中的每个空格都包含 %20,但结果(扫描 QR 码后)却没有。这会导致 URL 无法点击。考虑到某些 QR 码生成器在扫描后确实在 URL 中包含 %20,例如 this,这种行为很奇怪。一。有没有办法使用 Google Charts QR 码 API 在扫描后将 %20 包含在 URL 中?另外,我也可以使用另一个 PHP 库/API 来完成这项工作(我找不到)。结果应该如下所示:

enter image description here

最佳答案

尝试formally encoding it as a url第一:

$encodedmapsurl = "https://www.google.nl/maps/dir/De%20Aar%2018,%208253%20PN%20Dronten/De%20Lepelaar%2012,%208251MT%20Dronten/De%20Lepelaar%201,%208251mt%20Dronten/De%20Aar%2018,%208253%20PN%20Dronten/";
$encodedmapsurl = urlencode($encodedmapsurl);

另外,然后尝试在生成二维码之前将编码后的网址发送到 bitly 或类似的缩短器。

如果这仍然不起作用,在日本,我经常会发现特殊字符会导致许多难以查找/修复的问题(例如 1 位“%”与 2 位“%”字符)。尝试使用 charset-source (and charset-target) parameter .

关于php - 如何在扫描后在Google QR码URL中包含%20空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71338806/

相关文章:

javascript - 通过 Google Maps Geocode API 使用 For 循环索引

google-maps - 谷歌地图 API : how to check if an address or location is valid?

php - 从Google Analytics(分析)获取数据的最简单方法?

php - 在 WooCommerce 帐户激活邮件中访问用户的名字(DOI 通过 WooCommerce Germanized)

php - 如何执行 2 个条件查询并将数据检索到单个表中

.net - GMAP.Net 是否有谷歌地图限制,每天有 1500 个查询?

python - 用python从左到右解码二维码

javascript - 如何使用 javascript 创建一个由每个 ISO/IEC 8859-1 字符组成的字符串?

python - 如何检测扫描纸上的图案(如二维码),以便正确旋转/缩放/识别?

php - 从 css 和 php 创建简单的条形图