无法在MySQL表中插入♥字符

时间:2012-09-12 10:43:46

标签: php mysql

我试图用PHP将♥插入MySQL表中。它来自输入字段。

表的字符集是utf8_general_ci,在PHP中我在连接后立即使用mysql_query("SET NAMES 'utf8'");

但是♥只是变成'?'插入时。

我也尝试从phpMyAdmin插入♥到表中,但它返回此错误:

Warning: #1366 Incorrect string value: '\xE2\x99\xA5' for column 'subject' at row 1

结果也是'?'而不是♥。

关于导致这种情况的任何想法?

2 个答案:

答案 0 :(得分:23)

这是因为表格列中定义了不兼容的character set and collation

尝试将您的表格或列changing character set改为UTF8

ALTER TABLE table_name CONVERT TO CHARACTER SET utf8;

ALTER TABLE table_name MODIFY col VARCHAR(255) CHARACTER SET utf8; 

答案 1 :(得分:0)

试试这个:

ini_set('default_charset', 'utf-8');
在你的php文件中

并设置:

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

并在整理到utf8_general_ci

的数据库中记录