开发者社区> 问答> 正文

向mysql写入中文数据时不显示或显示乱码

今天写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客户端还是不能显示

展开
收起
小旋风柴进 2016-03-05 16:41:14 2566 0
1 条回答
写回答
取消 提交回答
  • 乱码是编码不统一造成的,看你的测试应该有一处是默认是gbk了,
    会不会是浏览器?可测试一下
    编码扯到需注意的地方有:
    数据库编码、表、字段、
    mysql连接(set names)、
    文件编码、header/浏览器编码
    6处需检查
    建议你把这个sql语句单独输出一下看执行了啥样最终语句
    再copy到phpmyadmin的sql语句里执行一下就明白了

    2019-07-17 18:53:46
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像