2010-01-26 31 views
0

我不能似乎得到這些中國標點符號用我的數據庫(UTF-8) 上班的時候我做了查詢的標記看起來像這樣 的回聲插入到mysql數據庫與亞洲的符號,如「 -

在PHP

我已經做了

$文字= mysql_real_escape_string(ヶ輛($文本));

因此,他們沒有正確保存到數據庫我可以做些什麼來解決這個問題?

謝謝

回答

0

在字符串值之前加上字符'N'。

例如,從test_table中選擇temp = N'unicode字符串'

+1

這是一個MSSQL的東西。 MySQL不會那樣工作。 – 2010-01-26 18:27:24

1

執行mysql_query('SET NAMES utf-8');之前,如果你想使用ヶ輛Unicode的任何操作就可以了

0

之外,你必須將其設置爲UTF-8編碼這樣的:

htmlentities($string,ENT_COMPAT,"UTF-8"); 
1

嘗試使用utf8_encode()功能使用,同時插入到數據庫和utf8_decode()同時打印。

0

不要將HTML編碼的數據放入數據庫中。它應該是原始文本,直到你吐到頁面上(此時你應該使用htmlspecialchars()時間

您需要確保兩個您的數據庫和網頁使用UTF-8:

  • 確保你的表是用UTF-8的排序規則創建的;
  • 使用mysql_set_charset連接,以確保MySQL和PHP之間的連接後,是UTF-8;
  • 用頭或meta標籤設置頁面的Content-Typetext/html;charset=utf-8

你可以避開使用不同的編碼,如數據庫端的默認拉丁文-1和連接如果你把它當作字節,但是不區分大小寫的比較不會工作,所以它是最好堅持UTF-8。