情况描述: 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