使用 PHP 为 Google 地图地理编码器编码变量
Encoding variables for Google Maps geocoder with PHP
我正在尝试为 URL 的 google 地图地理编码 API 和 PHP 编码变量。我同时使用了 urlencode 和 rawurlencode,我得到了相同的结果
Székesfehérvár, Hungary
PHP returns
Sz%E9kesfeh%E9rv%E1r%2C%20Hungary
任何在线解码器都无法解码。
当我使用在线编码器工具进行编码时,我得到:
Sz%C3%A9kesfeh%C3%A9rv%C3%A1r%2C+Hungary
当我将其直接插入 Google 地图地理编码器 URL 时,它是成功的。 PHP 函数每次都失败。
这是我使用的代码:
function getLatandLong($landmark,$city,$state)
{
global $lat;
global $long;
global $city;
if (!empty($landmark)) { $encoded_vars = "$landmark,$city,+$state";
} else { $encoded_vars = "$city, $state"; }
$encodedVars = urlencode($encoded_vars);
$doc = new DOMDocument();
$doc->load("http://maps.google.com/maps/api/geocode/xml?address=$encodedVars&sensor=false"); //input address
嗯,我试过了
$encodedVars = utf8_encode($encoded_vars);
这似乎有效,即使回显显示(可能是因为我没有在我的捕获页面上设置正确的页面编码:
Székesfehérvár,+Hungary
我正在尝试为 URL 的 google 地图地理编码 API 和 PHP 编码变量。我同时使用了 urlencode 和 rawurlencode,我得到了相同的结果
Székesfehérvár, Hungary
PHP returns
Sz%E9kesfeh%E9rv%E1r%2C%20Hungary
任何在线解码器都无法解码。
当我使用在线编码器工具进行编码时,我得到:
Sz%C3%A9kesfeh%C3%A9rv%C3%A1r%2C+Hungary
当我将其直接插入 Google 地图地理编码器 URL 时,它是成功的。 PHP 函数每次都失败。
这是我使用的代码:
function getLatandLong($landmark,$city,$state)
{
global $lat;
global $long;
global $city;
if (!empty($landmark)) { $encoded_vars = "$landmark,$city,+$state";
} else { $encoded_vars = "$city, $state"; }
$encodedVars = urlencode($encoded_vars);
$doc = new DOMDocument();
$doc->load("http://maps.google.com/maps/api/geocode/xml?address=$encodedVars&sensor=false"); //input address
嗯,我试过了
$encodedVars = utf8_encode($encoded_vars);
这似乎有效,即使回显显示(可能是因为我没有在我的捕获页面上设置正确的页面编码:
Székesfehérvár,+Hungary