相信初学php的同学应该都会试一些小程序,比如从input文本框输入数据后点击提交,数据自动插入数据库保存。
但是如果是输入中文提交,不经过一定配置,在phpMyAdmin中就会显示乱码。什么%ez.[]@#$%#$%^都有。。。
今天经过查询解决了这个问题。网上说的很多都没有说全,这里我来总结一下:
//(本人环境由wampserver64自动配置)
1、首先在phpMyAdmin中找到你创建的表,如table1(注意是表不是数据库),点击上方的“结构”,找到你想要保存中文的那一列的名字,如information,点击右侧“修改”,把排序规则修改成utf8_general_ci。
P.S.如果你是先建的这个表,然后根据网上说的教程修改表的排序规则或者外部数据库的排序规则甚至服务器的规则,依然还是不能插入中文,必须要精确到这个字段。而如果你在建表的时候就设定字符集,那是没问题的。
2、在你运行后显示页面的html部分的head部分加入 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">,如下图
3、在php部分,你涉及插入数据库的代码之前加入
mysql_query("set names ‘utf8‘");
如图:
重新运行程序,就可以插入中文啦
注:本人环境是由wamp64自动配置,所以不用修改my.ini之类的,如果看完本文依然无法解决请另行搜索。
时间: 2024-11-06 07:51:17