数据库插入数据是问号

function xq($sql){
$db = mysqli_connect('localhost','root','','bbs');
$charset = 'set names utf8';
mysqli_query($db,$charset);
$re = mysqli_query($db,$sql);
return $re;

include 'fun.php';
testget('select * from user');
$pwd = md5('nan');
$sql = "insert into user(name,pwd) values('小楠','$pwd')";
echo $sql;
testquery($sql);
testget('select * from user');
求解为什么小楠插入到数据库变成了问号。明明设置字符集了。还有改完信息之后刷新没有效果,必须关闭浏览器重新打开才能再向数据库输入

检查并修改mysql的my.ini的配置文件
default-character-set=utf8

建立数据库是要指定字符集
create database mydb default character set utf8 collate utf8_general_ci

建立数据表示也要指定字符集:
出问题的命令:

CREATE TABLE IF NOT EXISTS `mydb` (
`username` varchar(64) NOT NULL,
`userid` int(11) NOT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

正确的命令:

CREATE TABLE IF NOT EXISTS `mydb` (
`username` varchar(64) NOT NULL,
`userid` int(11) NOT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=utf8;追问

这次变成空字符串了。。

温馨提示:内容为网友见解,仅供参考
无其他回答

我用数据库insert 插入到表的文字字符怎么都是问号?
编码出现错误了,一般编码有GBK GB2312 UTF-8 ISO8856-1 如果需要编码转换的话,就可能出现乱码 UTF-8支持的语言最广,将编码设置为UTF-8就可以搞定了,不知道你用得是什么语言,查查用哪个方法可以设置,比如JSP,request.setCharacterEncoding("UTF-8");希望对你有帮助。。。

解决Mysql数据库插入数据出现问号(?)的解决办法
首先,我用的mysql数据库是5.7.12版本。出现的问题:1.插入数据显示错误,插入不成功,出现:Incorrectstringvalue:'\\xCD\\xF5\\xD5\\xBC\\xBE\\xA9'forcolumn'Sname'atrow12.插入中文,虽然插入成功,但是显示:??解决方法:在my.ini文件中的[mysqld]中加入#character-set-server=utf8如图所示,必须...

SQL中向表中添加的字符都变成问号了,什么情况?怎么处理?
回答:乱码问题。。。你应该跟踪调试一下,看在哪开始变成乱码了,不单单是数据库的编码问题,各个环节都有可能出问题,不能一概而论。。。

如何设置mysql的编码?我向表中插入的中文数据,都是问号。。。
插入的数据乱码有很多原因:1、你要检查一下页面的编码和数据库设置的字符集是否一样,要么都是utf8,要么都是gbk的 2、如果第一点说的两边编码是统一的,你可以在链接数据库的时候加上mysql_query("set names utf8")3、加上之后还是不行的话,在检查你的页面编码,如果是utf8的话,请选择没有b...

为什么mysql在客户端添加插入中文用程序查询显示是问号
这是因为字符编码不一致导致的,插入的数据是问号,检查MySQL数据库和表的编码是否一致,程序里可以用mysql_query('set names utf8');\/\/设置字符编码为utf8,如果数据库编码是gbk,就改为gbk。

导入mysql数据库后中文全部变成问号,英文变大写
首先你要搞清楚,插入到数据库的字符是乱码,如果是,则需要在插入数据库之前,进行字符编码转换。如果是通过WEB程序插入,则需要在WEB层设置字符格式和转换。如果数据库中不是乱码,在查询显示的时候是乱码,则需要跟踪,看信息在哪里交互的时候出现了乱码,设置转换即可。比如,WEB应用,在JSP 里面 设置 ...

ACCESS数据库里面的数据显示出来是问号
你的页面我看了下,出现这种情况我估计是在查询的时候,使用的是一个字节数据查询,所以数据库返回的是单字节数据。如果你的在查询的时候使用的是 "…… '%" &Word &"'% ……"改成:"…… '%%" &word &"'%%……"试试看。

mysql数据库汉字显示问号
原因:mysql的默认编码方式和代码的编码方式不一致,而引起显示问号。解决办法:1、打开Eclipse;2、打开J2EE项目;3、可以看到代码的中文编码方式不是utf8(例如是gbk),mysql的默认编码为utf8。由于两者不一致,所以在将字符插入数据库时就出现了问题;4、所以此时只需要将代码的编码方式改为utf8即可...

MySQL某些字符出现问号怎么办mysql个别字问号
如果修改MySQL编码方式无法解决问题,可以尝试修改查询语句。在查询语句中添加以下命令,即可将查询结果转换为UTF-8编码:SET NAMES utf8;这个命令的作用是将MySQL客户端和服务器端之间传递的数据编码方式设置为UTF-8编码。3. 修改MySQL表结构 如果在数据库中已经存在乱码数据,可以尝试修改表结构将其转换为...

navicat for mysql 输入数据时中文变成的问号
新建数据库时,注意两点:1、字符集设置为‘utf8 -- UTF-8 Unicode’;2、排序规则设置为‘utf8_general_ci’;亲身实测,有效。

相似回答