2010-08-23 81 views
5

我有一个时间让♥类型字符到我的数据库使用PHP。通过PHP插入♥到MySQL(心脏字符)通过PHP

我有UTF-8的设置在页面上

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

<?php 
$line = $_REQUEST['line']; 
$line = stripslashes($line); 
$line = htmlspecialchars($line); 
$line = trim($line); 
$line = mysql_real_escape_string($line); 
mysql_query("SET CHARACTER SET utf8"); 

$sql = "INSERT INTO posts (txt) values ('$line')"; 
mysql_query($sql, $cn); 

?> 

插入的结果是人物

我敢肯定有些人已经做到了这一点,但我真的很难做到这一点。

编辑:

MySQL表的整理和字段的编码也被设置为utf8_unicode_ci

回答

3

我相信你要做的:SET NAMES utf8作为第一个查询。

+0

ahhhhhh ....非常感谢你。 这已经杀了我几个小时:D – 2010-08-23 03:16:01

+0

嗯它不应该是一个原因。 SET CHARACTER SET与SET NAMES相同。它仍然在查询执行之前。 @Alex真的能解决你的问题吗? – 2010-08-23 05:16:46

+0

是的,它确实做到了! (我已经投了绿色的选中标记,但堆栈有延迟接受答案:) 也许这是与服务器上的版本/设置/ etc ...有关。 – 2010-08-25 17:24:30