如何将特殊字符插入数据库(MySQL),如
Registered symbol ( ® )
或
Copyright sign ( © )
或
Trade Mark sign ( ™ )
我也想在 html 页面上显示为原始内容。
我必须在双方(前端和后端)做什么,请详细说明
哪个功能更有效?
方法一:
$_GET = array_map('trim', $_GET);
$_POST = array_map('trim', $_POST);
if(get_magic_quotes_gpc()){
$_GET = array_map('stripslashes', $_GET);
$_POST = array_map('stripslashes', $_POST);
$_GET = array_map('strip_tags', $_GET);
$_POST = array_map('strip_tags', $_POST);
}
else{
$_GET = array_map('mysql_real_escape_string', $_GET);
$_POST = array_map('mysql_real_escape_string', $_POST);
}
方法二:
foreach ($_POST as $key=>$value){
if (!get_magic_quotes_gpc()) {
return addslashes(htmlentities(strip_tags($value),ENT_QUOTES,'UTF-8'));
}
else {
return htmlentities(strip_tags($value),ENT_QUOTES,'UTF-8');
}
}
我有点困惑有什么区别
htmlentities()
和htlspecialchars()
,我必须使用哪一个?
应该使用哪个函数addslashes()
或stripslashes()
何时插入数据库?