他我有个问题
我有一个mysql数据库转储,但所有的数据都是url编码的+而不是空格和其他字符,如%20等
我尝试直接导入,并编写了一个php脚本来解码数据并将其重写回数据库。
/// make rs..........
........
do {
// decode the items in the countries table
$myCountryID = $row_countries['id_con'];
$new_country_con = urldecode($row_countries['country_con']);
$result = mysql_query("UPDATE countries_con SET country_con = '".$new_country_con."'
WHERE id_con = ".$myCountryID."")or die(mysql_error()) ;
echo("id_win: ".$myCountryID."<br>added country_con: ".$new_country_con."<br>");
} while ($row_countries = mysql_fetch_assoc($countries));
echo('----------------------------------END Countries-------------------------------------<br><br>');该页设置为使用utf8数据库中的所有表都设置为使用utf8
echo语句输出了正确的字符,但它仍然作为url编码的字符串存储在数据库中,如何在没有url编码字符的情况下将其作为utf8存储到数据库中?
发布于 2011-06-07 02:00:02
尝试打印您的查询,以查看它在哪个点产生%20 (在查询执行之前或之后)。
另请参阅:http://recursive-design.com/blog/2008/06/23/force-mysql-encoding-to-utf8/
https://stackoverflow.com/questions/6256087
复制相似问题