2010-03-21 34 views
2

我插入下面的字符到我的DB:漢字/漢字爲什麼我不能在我的mysql數據庫中查看外語字符?

這是插入字符頁面上的meta標籤:

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

我已經改變了所有列我表持有該字符是utf8_unicode_ci

的外文字符顯示,像這樣的DB:汉A- /æ¼¢A-

當我使用一個SQL語句在頁面上顯示的外文字符,它們顯示正確再次爲:漢字/漢字

我猜我有一些設置,是不是在我的數據庫是正確的,因爲它存儲正確,但沒有正確顯示。

我該怎麼做才能讓外語字符在我的數據庫中正確顯示?

編輯:這裏是我的插入:

$sql = 'INSERT INTO orders (foreign_characters) 
     VALUES (?)'; 

$stmt = $conn->stmt_init(); 
$stmt->bind_param('s', $_SESSION['foreign_characters']); 
$inserted = $stmt->execute(); 
+0

你用什麼來查看數據庫中的數據?您是否使用MySQL客戶端查詢命令行? – 2010-03-21 22:01:39

+0

我正在使用phpMyAdmin – zeckdude 2010-03-21 22:10:30

+1

phpMyAdmin是一個Web界面?也許phpMyAdmin沒有設置Content Type HTTP標題,所以瀏覽器中的字符沒有正確顯示。 – 2010-03-21 22:18:45

回答

6

是與數據庫的連接也UTF-8編碼?

這給一試:連接到MySQL數據庫之後,運行下面的查詢。

SET NAMES utf8; 

這應該做的伎倆(見MySQL doc)。 (是的,你必須每次連接時都這樣做。)

順便說一句:不要只依靠<meta> -Tag,發送適當的HTTP頭。

+0

謝謝,但我有點困惑。我在哪裏放置該查詢?在將外來字符插入數據庫的相同查詢中?另外,我應該發送什麼適當的標題,我應該怎麼寫? – zeckdude 2010-03-21 22:09:40

+0

我添加了我的插入查詢,所以你可以看到我在做什麼,因爲我不知道在哪裏添加你建議的查詢。 – zeckdude 2010-03-21 22:13:36

+0

我是否將您建議的查詢添加爲單獨的查詢或我已經在運行的插入查詢的一部分? – zeckdude 2010-03-21 22:16:06

相關問題