提交英文可以,
汉字出错 Data too long for column 'name' at row 1
我已经加上mysql_query("SET NAMES 'GB2312'");
如果 SQL直接改为$sql="insert into gbook(name,content) values('你你你你你','你你你') ";就可以;
从ajax.php传过去汉字就不行。为什么???
汉字出错 Data too long for column 'name' at row 1
我已经加上mysql_query("SET NAMES 'GB2312'");
如果 SQL直接改为$sql="insert into gbook(name,content) values('你你你你你','你你你') ";就可以;
从ajax.php传过去汉字就不行。为什么???
如果你数据库本省的编码是GB2312或utf8, char(1)表示一个汉字,两个字节.
还有,JavaScript本身是用UTF8编码的.建议你的php文件用UTF8编码.
我也加上这句ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=gb2312");
$con = iconv( "utf-8" , "gbk" , $con);
$name = iconv( "utf-8" , "gbk" , $name);然后再插入数据库,那么就没问题了.ajax发送出去的数据的编码和页面编码无关,因为浏览器内部是用unicode来处理数据的...
?不可能...不过你发送数据的javascript有点问题,你应该用encodeURIComponent将字符串编码后再发到服务器.
完整的小例子GB2312
PHP 5.1.6 +Apache 2.0.59 +MySQL 5.0.24