2013-09-23 24 views
0

我有問題顯示utf8_general_ci字符。我已經將所有表格和列設置爲utf8,但所有非英文字母字符都不顯示(它們的確如此加密,而是像這樣ÄÄÄÄć‡ÅÅÄÄÄ)。還有像'+等標誌不顯示。我正在Bluehost上運行我的網站。MySQL排序錯誤與非英文字符

什麼讓我困惑,是我在我的網站上使用AJAX。當我調用AJAX文件字符顯示正常,但當在非Ajax頁面加載時,我有一個錯誤,我告訴過你。

+1

頁面你能在數據庫表中看到正確的字符嗎? – johnny

+0

什麼是現場數據類型? – johnny

+1

您是否恰當地轉義了您的查詢或使用了準備好的PDO語句? – MonkeyZeus

回答

0

看不到與阿賈克斯問題的原因,是因爲JavaScript編碼是UTF-8。這不是PHP的情況,所以你應該添加到你的PHP。

header('Content-Type: text/html; charset=utf-8'); 
+0

謝謝!這解決了問題! :) –

0

確保您的瀏覽器將其解釋爲UTF-8。在HTML中使用元標籤的幫助來做到這一點。

例子:

<head> 
    <meta charset="utf-8"> 
</head> 
2

首先,你必須知道在哪裏使用的字符集:

  • 數據(設置在MySQL的collation/charset
  • 網頁(使用你的文件編輯器,開關編碼)(以這種情況下,頁面的內容是不相關的,我認爲)
  • 頁面爲您的瀏覽器請求它(Content-Type:頭+ <meta> -tag)
  • MySQL連接(讓SET NAMES 'utf8';是您的第一個查詢)
  • 在您將數據放入數據庫的哪種編碼下:僅將UTF-8編碼數據放入您的UTF-8列。

我認爲你有一個正確的編碼場錯誤的編碼數據,所以請確保您的數據是偶數的UTF-8,你把它放到數據庫之前,例如當你的表格是等