我使用mysql數據庫,innoDB和MyISAM兩種引擎。我想看看UTF8和LATIN1之間的不同,所以我做了一個試驗:
代碼在網站:utf8網站和latin1數據庫表字段
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
數據庫表字段屬性:
latin1_swedish_ci
然後我輸入中國話「我愛你「和」ĀāĂ㥹ĆćĈ「在網站上點擊提交按鈕,php和mysql將這些文字存儲到數據庫中。和MySQL從數據庫中取回值並顯示在網站上。
輸出:
網站顯示「我愛你」和「ĀāĂ㥹ĆćĈ」。
databse table field show「æ'ç±ä½」and「Ā&#25」。
我做了測試所有的以下變化:
1)網站的變化元至latin-1
和utf-8
2表字段的屬性)網站的變化元至utf-8
和utf-8
太表字段屬性。
3)將網站的元素更改爲latin-1
以及表字段的屬性也更改爲latin-1
。
但輸出仍然相同,輸出不變。爲什麼?
難道我不能用這種方法測試嗎?如果是這樣,我該如何測試utf-8
和latin-1
之間的差異?
如何使數據庫表字段顯示「我愛你」和「ĀāĂ㥹ĆćĈ」字樣?
我開發了一個像Facebook.com這樣的支持多種語言的社交網站,我應該使用utf-8
作爲數據庫領域嗎? utf-8
的缺點是每個字符需要3個字節,但latin-1
只需要1個字節。爲了節省存儲空間,最好使用latin-1
,但我不確定如果使用latin-1
而不是utf-8
,將來會出現什麼問題。任何人都可以給我一些關於如何決定使用哪種字符集的建議嗎?
進行測試。我明白了,所以實際上我需要將phpmyadmin的字符集更改爲latin1,而不僅僅是數據庫中表的字段。好的,我將爲我的項目使用UTF-8。謝謝你的建議 :) – zac1987