2010-08-23 80 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