Я называю геолокации службы Google, как это:символов в геолокации с file_get_contents()/PHP
$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ário Riberio, 41-243 - Praáza da Bandeira, Rio de Janeiro, 20270-180, Brazil" должно быть "R. Hilário Riberio, 41-243 - Praça da Bandeira , Рио-де-Жанейро, 20270-180, Бразилия "
Я использую UTF-8 в качестве кодировки символов на веб-сайте. Но это не имеет значения, поскольку phpMyAdmin показывает, что данные также вводятся в базу данных со сломанными символами.
Как установить правильную кодировку символов?
Тест # 1 может помочь, но он не надежно на 100%. Я видел слишком много реальных случаев, когда сценарий искажал данные перед их хранением и отлично «не повреждал» его перед его отображением. –