小左闲谈

wamp环境PHP插入MySQL汉字中文乱码问题

当前位置:首页 » 学习 » 本页
In 学习  @2015-12-05

情况描述:verchar字段插入INSERT中文字符,显示出来变成一个个的问号,在phpmyadmin下操作插入中文直接报错。

解决方法:
1.检查字符集设置;
1.1涉及到的html代码的文件中须包含;

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

1.2涉及到php数据库操作的需设置编码;

  1. $mysqli->set_charset('utf8');
    
  2. //$mysqli为mysqli对象
    
  3. mysql_query("SET NAMES UTF8");
    
  4. //单条语句,放在连接语句后面

1.3测试用的浏览器的编码设置为UTF-8(chrome中“设置——显示高级设置——自定义字体——编码”);
1.4修改已创建的数据库排序规则为utf8_general_ci,这一步可以在phpmyadmin下操作,需要将表以及字段的排列规则都改过来,通过结构选项卡查看排列规则;
phpmyadmin修改排列规则
1.5修改MySQL的默认字符集;
打开MySQL的my.ini文件:
[client]添加

  1. default-character-set=utf8

[wampmysqld]下添加

  1. character_set_server=utf8
    
  2. init_connect='SET NAMES utf8'

如果是5.5版本的MySQL可能还需要在[mysql]下添加

  1. default-character-set=utf8

1.6使用

  1. SHOW VARIABLES LIKE'character%';

查看字符集设置是否都已经修改为utf8;
设置mysql相关字符集

为确保万无一失,在php中进行数据库操作时,请使用SET NAMES ‘utf8′; 语句,在连接之后使用

  1. $mysqli->query("set names 'utf8'");
若无特殊声明,表示本文由:小左闲谈.原创
链接地址: http://blog.m1910.com/archives/1394.html
版权所有 © 转载时请以链接形式注明作者和原始出处!
标签: , , , ,   评论: 1枚  被围观 4,567 次

发表一下你的看法

1 评论 在 "wamp环境PHP插入MySQL汉字中文乱码问题"

avatar
排序:   最新 | 最旧
wpDiscuz