只需要...
提交页+处理页+数据库
都是在用 utf8处理页做下面的处理就可以入数据库了
if (!get_magic_quotes_gpc()) {
$lastname = addslashes($_POST['content']);
} else {
$lastname = $_POST['content'];
}
提交页+处理页+数据库
都是在用 utf8处理页做下面的处理就可以入数据库了
if (!get_magic_quotes_gpc()) {
$lastname = addslashes($_POST['content']);
} else {
$lastname = $_POST['content'];
}
这样就不会出现乱码了。
转换用mb_convert_encoding函数
搞得如么复杂做啥,
还要先用正则匹配中文,然后再对中文进行转换.呵呵 .
不知道你的目的为啥?
/*
但是还有一点不明白的addSlashes()在php手册中过滤的字符不包括;(分号)比如说下面这个测试字段:abc你好;我好"大家好",'这是个测试函数' _-+=`~!@#$%^&*()\|[]{}:?/<>转义之后是abc你好;我好"大家好",\\\'这是个测试函数\\\' _-+=`~!@#$%^&*()\\\\|[]{}:?/<>sql语句中';'过滤是怎么实现的...
*/
----------------------------------------------
写到这里才想起来,语句中的分号都是在('','',';')这种位置...不需要过滤....囧.....
我纠结了一天正则式,就为了过滤个分号,结果......
保留注释这个问题...警戒自己..告诫他人...
楼主打开了魔术引号了??呵呵,如果你在php.ini打开了magic_quotes_gpc,那么你没有必要在addslashes,因为在你处理前,那个变量已经被转义了。不说这个,说你那个分号,如果你的数据库是MySQL,你可以用mysql_real_escape_string函数进行转义,这样对数据库的专义比addslashes好很多。如果你用addslashes,楼主可以在执行这个函数后用str_replace($string,";","\;");就可以了。我给你个函数:
<?php
function addslashes_str($str){
$str=addslashes($str);
$str=str_replace($str,";",'\;');
return $str;
}
function stripslashes_str($str){
$str=stripslashes($str);
$str=str_replace($str,'\;',";");
return $str;
}
?>