我有这个简单的代码可以将 soem 数据从 CSV 文件存储在 MySQL 表中:
$file = "GeoLiteCity-Location.csv";
$handle = fopen($file, "r");
//loop through the csv file and insert into database
do {
$n++;
if ($data[0]) {
$city = str_replace('"', '',$data[3]);
$region = str_replace('"', '',$data[2]);
$latitude = $data[5];
$longitude = $data[6];
$country_id = $mobbuteo::$db->select('_countries', 'country_id', array('code' => str_replace('"', '',strtoupper($data[1]))));
$latlong = $mobbuteo::$db->select('_cities', '*', array('latitude' => $latitude, 'longitude' => $longitude));
if ($country_id[0]['country_id'] !== 0 && $country_id[0]['country_id'] !== '' && $country_id[0]['country_id'] !== NULL)
if (count($latlong) <= 0)
$result = $mobbuteo::$db->insert_update('insert', '_cities', array('country_id' => $country_id[0]['country_id'], 'city' => $city, 'region' => $region, 'latitude' => $latitude, 'longitude' => $longitude));
if (!$result) {
echo($city);
}
}
} while ($data = fgetcsv($handle, 1000, ",", "'"));
由于某些原因,在名称中带有特殊字符的 DB 城市被切断了。例如:L·i ThiÍu
仅L
在我的数据库表中。我正在使用UFT8 General Ci
.
那里有什么问题?但最重要的是,我现在如何获得所有带有特殊字符并正确固定名称的城市?
感谢您的任何建议