phpMyAdmin中文乱码/php插入数据中文乱码

#PHP插入中文数据,在PHPmyadmin中显示乱码问题
HTML中使用form表单,并用post方法提交数据到PHP页面中,再在PHP文件中编写代码,将获取到的数据插入数据库,然后打开phpmyadmin看到中文数据是乱码。
解决办法
1.打开mysql控制台
在这里插入图片描述
2.输入mysql密码,然后输入命令,不要忘记后面的分号!我就是上一句忘记写分号,接着写下一句的时候,及时正确也会报错。

show variables like "%char%";

错误示范
在这里插入图片描述
3.正确输入第二步的命令后,会显示各种编码,然后用下面的命令将每一个都设置成utf8,如果已经是utf8的就不用设置了。

set character_set_client=utf8;
set character_set_connection=utf8;
set character_set_databse=utf8;
set character_set_results=utf8;
set character_set_server=utf8;
set character_set_system=utf8;

反正我的设置历程就是这样,最后成功解决乱码问题,我也不清楚有没有必要全部设置成utf8,我也是刚学数据库,甚至我也不清楚这一步是不是必须的,因为后面还要在my.ini文件中设置字符编码,好让每次启动wampserver64时都是utf8编码格式

完成后如下图
在这里插入图片描述
4.打开上图中character_sets_dir显示的路径,找到一个my.ini的文件。用记事本或者Notepad++打开。
在这里插入图片描述
找到client,在client中添加下面这句话

default-character-set=utf8

在这里插入图片描述
然后找到“mysqld”,添加下面这句话

character-set-server=utf8

在这里插入图片描述
5.右键那个绿色的图标,点击“退出”。
在这里插入图片描述
6.然后再启动wampserver64。
7.在phpmyadmin中新建数据库时要像下面一样设置。
在这里插入图片描述
8.新建表时,如果是varchar或者text类型的字段,也要设置成“utf8_general_ci”。
在这里插入图片描述
9.HTML文件要添加

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

在这里插入图片描述
10.php文件要添加

header("Content-Type:text/html;charset=utf-8");

在这里插入图片描述
11.然后提交表单就能在数据库中插入中文,结果没有乱码。
在这里插入图片描述
在这里插入图片描述
string mysqli_character_set_name ( mysqli $link )
是返回当前数据库连接的默认字符编码。
在这里插入图片描述
12.最后,我是初学者,上面的步骤是我搞了半天多,最后成功了,想记录一下,我也只是看别人的博客,然后不断尝试不同方法,可能卡在漏了分号那一步了,我裂开了…(自己给自己合上)另外一个卡住我的可能是在phpMyadmin中修改了表的字符编码,但是没有改数据库连接的默认字符编码,导致一直出现乱码,并且老师给的

mysql_query("set names gb2312");

这个代码好像也不太对?
后来header也设置了utf8但是还是不行,最后就通过命令行啊,my.ini文件啥的修改默认字符编码。

如果有错误请大家指正!谢谢!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值