0
他我有一个问题MySQL的入门url编码数据导入数据库
我有一个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>');
页面被设置为使用UTF-8在数据库中的所有表都设置为使用UTF-8
echo语句输出正确的字符,但它仍然以urlencoded字符串的形式存储在数据库中,我如何将它作为utf8作为utf8而没有url编码字符?
'$ new_country_con = mysql_real_escape_string(urldecode($ row_countries [ 'country_con']));' – 2011-06-06 17:58:33
SQL不是串!不要直接在SQL语句中插入值,像Frank提到的那样使用占位符'?'或'mysql escape'函数。 – Konerak 2011-06-06 18:04:44
谢谢你这么多,不用说我现在觉得有点蠢,我怎么可能忽略了mysql_real_escape_string?也很乐意将你标记为正确的答案 – 2011-06-06 18:22:51