PHP中的响应地理编码与URL导航栏中的响应地理编码不同(Google maps api v3 json)

PHP中的响应地理编码与URL导航栏中的响应地理编码不同(Google maps api v3 json),php,json,google-maps,geocoding,Php,Json,Google Maps,Geocoding,如果我把这个网址: 我得到这个json对象: { "results" : [ { "address_components" : [ { "long_name" : "A Coruña", "short_name" : "A Coruña", "types" : [ "locality", "political" ] }, etc... 但如果我尝试使用PHP: <?php

如果我把这个网址:

我得到这个json对象:

{   "results" : [
  {
     "address_components" : [
        {
           "long_name" : "A Coruña",
           "short_name" : "A Coruña",
           "types" : [ "locality", "political" ]
        }, etc...
但如果我尝试使用PHP:

<?php $address = urlencode("la coruña, la coruña, España"); $geocode = file_get_contents('http://maps.googleapis.com/maps/api/geocode/json?address='.$address.'&sensor=false&region=es'); echo "<pre>"; print_r($geocode); echo "</pre>";?>

反应是不平等的

你可以看到它是不平等的:科伦纳!=科鲁尼亚


我一直在处理UTF-8,但没有找到解决方案。

您指定了
区域,但这会导致区域偏差,但不会影响输出语言。为此,需要指定
语言
参数。从:

  • 语言(可选)-如果未提供语言,地理编码器将尝试从 在可能的情况下发送请求

我猜运行PHP代码的服务器与您所在的国家不同(或者谷歌认为是)。这就是为什么从服务器请求和从浏览器请求时会得到不同的结果


事实上,当我点击你提供的url时,我得到了英文版(“Corunna”)的输出,大概是因为我在美国。如果我将
&language=es
添加到url,我会得到西班牙语版本(“A CoruñA”)。

您可以指定
区域,但这会导致区域偏差,但不会影响输出语言。为此,需要指定
语言
参数。从:

  • 语言(可选)-如果未提供语言,地理编码器将尝试从 在可能的情况下发送请求

我猜运行PHP代码的服务器与您所在的国家不同(或者谷歌认为是)。这就是为什么从服务器请求和从浏览器请求时会得到不同的结果


事实上,当我点击你提供的url时,我得到了英文版(“Corunna”)的输出,大概是因为我在美国。如果我在url中添加
&language=es
,我会得到西班牙语版本(“A CoruñA”)。

谢谢!非常感谢。非常感谢。你救了我!!真的,非常感谢!非常感谢。非常感谢。非常感谢。你救了我!!真的,非常感谢!