2012-03-13 19 views
1

我試圖在單個MySQL表中的不同字段中存儲英文和中文。在MySQL表中存儲英文和中文字符的正確字符集是什麼?

lang1英文,lang2中文。

我對錶格字符集嘗試了UTF8_general_ci和UTF8_unicode_ci。

輸入的Html頁面也使用UTF8。但由於某種原因,中國漢字迴歸爲???。有人知道爲什麼會發生這種情況?我複製並粘貼了UTF8 page as well中的中文字符。

編輯:爲輸入頁面 請求報頭:

Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3 

頁面本身設置:

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

編輯: 它看起來像設置現場LANG2到utf8_general_ci後,將其存儲字符正確。我將表格和數據庫排序規則設置爲utf8,但錯過了特定的字段。

+4

是否使用了數據庫連接檢索數據也設置爲UTF-8? – 2012-03-13 21:21:28

+0

@MikePurcell我不確定,我現在檢查一下,謝謝! – Fostah 2012-03-13 21:23:33

+0

@MikePurcell我的數據庫配置設置爲使用'utf8'。 – Fostah 2012-03-13 21:26:02

回答

2

這裏是mysql的字符集中國日本韓國

+--------------------+---------------------------+ 
| CHARACTER_SET_NAME | DESCRIPTION    | 
+--------------------+---------------------------+ 
| big5    | Big5 Traditional Chinese | 
| cp932    | SJIS for Windows Japanese | 
| eucjpms   | UJIS for Windows Japanese | 
| euckr    | EUC-KR Korean    | 
| gb2312    | GB2312 Simplified Chinese | 
| gbk    | GBK Simplified Chinese | 
| sjis    | Shift-JIS Japanese  | 
| ujis    | EUC-JP Japanese   | 
+--------------------+---------------------------+ 

如果使用UTF-8去確認那就是你的頁面被傳遞到數據庫的字符集。那麼你可以將htmlentities()設置爲utf8_encode(),這樣一切都在說同一種語言。

你也可以嘗試如在這個崗位http://www.dodoskido.com/archives/003040-mysql-chinese-character-fix-or-how-to-make-utf8-work-for-you-pages.html

相關問題