欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

mysql控制台插入汉字无乱码,php插入就乱码;

程序员文章站 2022-04-16 20:41:21
...
header("content-type:text/html;charset=utf-8");
$title =$_POST['f_title'];
$content =$_POST['f_content'];
//连接数据库
$link=mysql_connect('localhost','root','');
//选择数据库
mysql_select_db('bbs',$link);
//设置字符集
mysql_query("set names utf8");
//生成sql语句
$sql="insert into bss_info (title,content,add_time) values ('$title','$content',now())";
//执行sql语句
$rs=mysql_query($sql);
//生成sql错误提示
echo mysql_error();
//页面信息提示
if($rs)
{
echo "信息添加成功!";
}else
{
echo "信息添加失败!";
}
?>


回复讨论(解决方案)

1、表是utf8编码吗
2、文件编码是utf-8编码吗

当你插入的数据是 utf-8 编码的时候
才需要 mysql_query("set names utf8")

1、表是utf8编码吗
2、文件编码是utf-8编码吗



通过记事本打开我上面这段php页面,文件??另存为显示编码时utf-8
mmsql:my.ini文件中显示:default-character-set=utf8
我实在不知道是什么错误了!

我的QQ:380492399,哪位高手知道问题,可以远程帮我看看,感激不尽。


//执行sql语句
之前加入
echo base64_encode($sql);
贴出结果

你的数据库不一定是utf8的吧...不是的话你乱插会得疑难杂症的.
用phpmyadmin 查看一下吧...

你的数据库不一定是utf8的吧...不是的话你乱插会得疑难杂症的.
用phpmyadmin 查看一下吧...




数据库的字符集设置难道不是my.ini文件中的“default-character-set=utf8”,还有别的设置地方么?

引用 6 楼 PhpNewnew 的回复:你的数据库不一定是utf8的吧...不是的话你乱插会得疑难杂症的.
用phpmyadmin 查看一下吧...


数据库的字符集设置难道不是my.ini文件中的“default-character-set=utf8”,还有别的设置地方么?



你看...他叫默认...也就是你肯定还可以对表进行自定义...
对吧?

去phpmyadmin里面先看看数据库设置的编码是哪种编号

谢谢大家的热情回复,应该把控制台中字符集设置成gbk。