2011-12-30 82 views
1

我必須在MySQL表中存儲多種不同的語言。 如:日本&中國在本機格式存儲語言(utf8_general_ci)

目前我使用的表有排序規則設置爲:latin1_swedish_ci

我在其他地方見過在互聯網上,我應該使用的歸類:utf8_general_ci

是這正確嗎? 有更好的選擇嗎? 我應該注意的任何語言限制?

回答

0

是的,這是正確的,因爲這是一個非常簡單的解決方案,我不認爲需要一個「更好的選擇」。

0

utf8_general_ci是多語言支持的標準。我最近注意到當我最近啓動一個基於數據的站點時,latin1_swedish_ci是我的新表(MySQL 5.0.45/MySQL 5.0.67)的默認排序規則類型。由於數據庫連接的排序類型可能與新表有所不同,或者甚至從一個表到下一個表,因此我必須檢查是否已更正此問題。

另外,檢查您的數據庫和頁面的字符集是UTF-8 Unicode(utf8)。某處在HTML頭應該是相似的一行:

<html> 
    <head> 
    [...] 
    <meta http-equiv = "content-type" content = "text/html; charset = UTF-8" /> 
    [...] 
    </head> 
    <body> 
    [...] 
    </body> 
</html> 

的,你可以用一個簡單的開關以.php包括/需要正確的語言文件(其中可能有本地DEFS或從數據庫中讀取語言DEFS,例如),如:

switch ($language) 
{ 
    case 'en' : include $path . 'english.php'; break; 
    case 'fr' : include $path . 'french.php'; break; 
    [...] 
}