我将Google地理定位服务称为:
$querystring = "http://maps.googleapis.com/maps/api/geocode/json?sensor=false&latlng=".$row['lat'].",".$row['lng'];
$context = stream_context_create(array(
'http' => array(
'timeout' => 10
)
));
$f = file_get_contents($querystring, 0, $context);
$f = json_decode($f);
if(!isset($f->status) || $f->status != 'OK') continue;
$f = $f->results[0];
$location = $f->formatted_address;
然后我将该位置插入数据库:
//add the location to the database
$sql = "INSERT INTO `wp_postmeta`
(`meta_id`, `post_id`, `meta_key`, `meta_value`)
VALUES
(
NULL,
'".intval($row['ID'])."',
'location',
'".mysql_real_escape_string($location)."'
)";
if($location) $insert = mysql_query($sql);
问题:编辑wordpress帖子时,某些字符显示效果不佳。 比如说 “R.HilárioRiberio,41-243 - PraçadaBandeira,里约热内卢,20270-180,巴西” 应该 “R.HilárioRiberio,41-243 - PraçadaBandeira,里约热内卢,20270-180,巴西”
我在网站上使用UTF-8作为字符编码。但这是无关紧要的,因为phpMyAdmin显示数据也输入到数据库中,并且还有破碎的字符。
如何设置正确的字符编码?
答案 0 :(得分:2)
使用mysql_set_charset
将数据库连接编码设置为'utf8'
,否则MySQL不知道您正在插入UTF-8编码数据。有关详细信息,请参阅Handling Unicode in a Web App。
答案 1 :(得分:2)
试试这个:
首先,让我们检查您的PHP +浏览器是否正常使用UTF-8来调试真正的问题。将其放在PHP文件中并在浏览器中进行测试:
echo 'Filosofía: φιλοσοφία';
你应该能够像这里所示(西班牙语和希腊语)阅读它
一旦确定UTF-8工作正常,输出$f
数组的内容:
echo "<pre>\n" . print_r($f, true) . "\n</pre>";
检查内容是否显示为乱码。
确保告诉MySQL您要使用UTF-8:
mysql_set_charset('utf8');
在 mysql_connect()
功能之后立即将此放置。