MySQL 插入中文数据时出错,在MySQL命令行界面插入中文数据时没有出错,但是用PHP插入中文数据时,就出错

<?php
$db=@new mysqli("127.0.0.1", "root", "646131368","test");
if(mysqli_connect_errno())
{
echo "数据库连接失败!<br>\n";
echo mysqli_connect_error();
exit;
}
$sql = "INSERT INTO t_user (f_username, f_password, f_name, f_email) VALUES";
$sql .= "('jifengliya', '123456', '张三', 'jifengliya@163.com')";
//如果把‘张三’那里改为英文的,就不会报错了,PHP.ini里面的设置是gb2312
$rs = $db->query($sql);
if (!$rs) {
$db->close(); // 关闭数据库连接
echo '数据记录插入失败!';
exit;
}
?>
泣血跪求大大们指点!

//加上一句,解决棘手的编码问题(以gb2312为例)
$db->query("set names gb2312");
//然后
$rs = $db->query($sql);
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-05-01
$sql_init = "set names GB2312";
mysql_query($sql_init);

$sql = "INSERT INTO t_user (f_username, f_password, f_name, f_email) VALUES";
$sql .= "('jifengliya', '123456', convert( '张三' using GB2312) , 'jifengliya@163.com')";
第2个回答  2011-05-01
数据库字段格式。。

Mysql数据库不能插入中文怎么回事儿啊?
1、首先使用insert语句,把数据插入到数据库表里。2、运行后,发现插入语句报错了。点击语句,查看详情,提示说插入的中文语句是不正确的字符串内容。3、这时右键点击插入数据的表,然后点击表设计。4、打开表设计界面后,点击上方的Option选项。5、默认新建的表字符集用的是latin1字符集。要插入中文内容,...

MYSQL数据库插进数据为中文时就提示错误
“使用命令行方式登陆到MySQL服务器, 建立一个数据库,数据库编码设为UTF-8。此时,如果直接在命令行窗口使用insert语句插入中文,就遇到类似 ERROR 1406 (22001): Data too long for column 'name' at row 1 错误。乍一看,是字段长度引起的问题,但是实际是字符编码的问题。可是尝试以下解决方法:1...

在mysql中插入中文时,在jsp页面上能正常显示;但是在jsp页面上插入中文...
5、在表单定义时加上这个属性有时也可以解决表单提交过程中出现的乱码 6、提交英文字符能正确显示,如果提交中文时就会出现乱码。原因:浏览器默认使用UTF-8编码方式来发送请求,而UTF-8和GB2312编码方式表示字符时不一样,这样就出现了不能识别字符。解决办法:通过request.setCharacterEncoding( "gb2312...

如何解决MySQL无法输入汉字的问题mysql不能输入汉字
1.打开my.cnf配置文件(配置文件所在位置可以在MySQL安装目录下的my.ini中查看)。2.找到[mysql]和[mysqld]标签,在这两个标签中添加以下内容:character-set-server=utf8 3.保存文件并重启MySQL服务。二、指定字符集 在MySQL中,每个表、每个字段都有自己的字符集。我们可以指定字符集来解决MySQL无法...

关于Mysql中文乱码问题该如何解决(乱码问题完美解决方案)
首先:用show variables like “%colla%”;show varables like “%char%”;这两条命令查看数据库与服务端的字符集设置如果查看出来都是gbk2312,或 gbk,那么就只能支持简体中文,繁体和一些特殊符号是不能插入的,我们只有修改字符集为UTF-8,修改方法如下:用记事本或UitraEdit打开mysql数据库安装...

MYSQL 提交中文字体的时候 存入失败。但是 提交英语一切正常~遇到这问 ...
最好找个图形化的,比如PL/SQL去修改数据存储编码为utf-8. 我用的是phpmyadmin,在网页上,可以修改。试了一下命令行:charset utf8;这样可以显示中文。然后我在phpmyadmin中修改collation 为utf8_bin, 就可以插入中文。

解决MySQL无法输入中文字符的问题
在操作MySQL数据库时,遇到了中文字符输入问题,以下是针对此问题的解决方案:当尝试插入如'张三'这样的中文字符时,遇到了错误,提示错误1366,原因是字符串值不正确。问题可能出在字符集设置上,因为英文字符插入没有问题。通过查看变量,发现当前数据库的字符集为latin1,而客户端和连接的字符集为utf8。

php不能往mysql数据库添加汉字,只能添加字母和数字
php+mysql数据时我们必须保证提交到数据库的编码与mysql编码是一致的这样才可以保存中文不出现问号乱码问题,下面我先整理两个让mysql与页面保证编码一致的方法。解决中文插入数据库乱码的方法:直接把中文转变成utf-8格式,大多是这个问题导致的。代码如下复制代码 str = iconv('gbk','utf-8',$str);如...

在学php+mysql,写了一个留言板,但是为什么phpmyadmin插入不了中文,英文...
这个就是编码问题,你插入中文,数据库里面把编码格式改成gb2312类型的试试 还有就是php那边也要在插入数据库之前统一编码

我用php向mysql中插入数据的时候,英文和数字插入很正常。但是中文只能...
从“英文和数字插入很正常。但是中文只能插入一次”的描述信息,以及代码来看,代码本身没有错误之处,出错误的原因,据经验判断,可能在数据库编码、网页编码、网页文件编码三者不一致上。假设,你的网页文件编码与网页编码都是gb2312,那么你也应该将数据库编码设置为gb2312.

相似回答
大家正在搜