我正在尝试生成包含 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&size=150x150" />
我最终得到以下二维码:
这很好,但是,当我用移动应用程序扫描二维码时,结果是:
请注意,URL 本身对于 URL 中的每个空格都包含 %20,但结果(扫描 QR 码后)却没有。这会导致 URL 无法点击。考虑到某些 QR 码生成器在扫描后确实在 URL 中包含 %20,例如 this,这种行为很奇怪。一。有没有办法使用 Google Charts QR 码 API 在扫描后将 %20 包含在 URL 中?另外,我也可以使用另一个 PHP 库/API 来完成这项工作(我找不到)。结果应该如下所示:
最佳答案
尝试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/