今天写php,向mysql插入数据时,无法显示中文或显示乱码,怎么解决?
已经设定了字符集:mysql_query('SET NAMES utf8');
sql语句:mysql_query("INSERT INTO user (username) VALUES ('庞统')");
数据库表结构:username varchar(20) utf8_general_ci
而且mysql的配置文件my.ini里我也改了,在
[mysql] [mysqld]后面加上了default-character-set=utf8
请问如何解决?
补充一点:
把mysql的编码换成gbk,
mysql_query('SET NAMES gbk');这条也改成gbk;
则在phpMyadmin里可以显示中文了,但在mysql客户端还是不能显示
乱码是编码不统一造成的,看你的测试应该有一处是默认是gbk了,
会不会是浏览器?可测试一下
编码扯到需注意的地方有:
数据库编码、表、字段、
mysql连接(set names)、
文件编码、header/浏览器编码
6处需检查
建议你把这个sql语句单独输出一下看执行了啥样最终语句
再copy到phpmyadmin的sql语句里执行一下就明白了
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。