peterchen149 2013-11-22 10:22 采纳率: 0%
浏览 2753

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

  • 写回答

3条回答 默认 最新

  • franzhong 2013-11-23 11:11
    关注

    乱码是编码不统一造成的,看你的测试应该有一处是默认是gbk了,
    会不会是浏览器?可测试一下
    编码扯到需注意的地方有:
    数据库编码、表、字段、
    mysql连接(set names)、
    文件编码、header/浏览器编码
    6处需检查
    建议你把这个sql语句单独输出一下看执行了啥样最终语句
    再copy到phpmyadmin的sql语句里执行一下就明白了

    评论

报告相同问题?

悬赏问题

  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 C#调用python代码(python带有库)
  • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面