情况描述: verchar 字段插入 INSERT 中文字符,显示出来变成一个个的问号,在 phpmyadmin 下操作插入中文直接报错。
解决方法如下:
1. 检查字符集设置;
1.1. 涉及到的html代码的文件中须包含;
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
1.2. 涉及到 php 数据库操作的需设置编码;
mysqli->set_charset('utf8');
//mysqli为mysqli对象
mysql_query("SET NAMES UTF8");
//单条语句,放在连接语句后面
1.3. 测试用的浏览器的编码设置为 UTF-8 ( chrome 中“设置——显示高级设置——自定义字体——编码”);
1.4. 修改已创建的数据库排序规则为 utf8_general_ci ,这一步可以在 phpmyadmin 下操作,需要将表以及字段的排列规则都改过来,通过结构选项卡查看排列规则;

1.5. 修改 MySQL 的默认字符集;
打开 MySQL 的 my.ini 文件:
[client] 添加
default-character-set=utf8
[wampmysqld] 下添加
character_set_server=utf8
init_connect='SET NAMES utf8'
如果是 5.5 版本的 MySQL 可能还需要在 [mysql] 下添加
default-character-set=utf8
1.6. 使用
SHOW VARIABLES LIKE'character%';
为确保万无一失,在 php 中进行数据库操作时,请使用 SET NAMES ‘utf8′ ; 语句,在连接之后使用
$mysqli->query("set names 'utf8'");

MARK