我试图用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
结果也是'?'而不是♥。
关于导致这种情况的任何想法?
答案 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
的数据库中记录