2010-12-05 44 views
0

我一直在尋找使用utf8_slovenian_ci的一些mysql代碼,爲什麼?
是否因爲斯洛文尼亞需要使用此編碼來吸收字母表中的某些字母?Mysql爲什麼使用utf8_slovenian_ci?

如果我「米用英語,我可以省略這個我不能?
或者,我可以使用UTF-8或它自動做呢?

CREATE TABLE `users` (
    `Id` int(11) NOT NULL AUTO_INCREMENT, 
    `FirstName` varchar(255) COLLATE utf8_slovenian_ci DEFAULT NULL, 
    `LastName` varchar(255) COLLATE utf8_slovenian_ci DEFAULT NULL, 
    `Address` varchar(255) COLLATE utf8_slovenian_ci DEFAULT NULL, 
    `PostCode` int(8) DEFAULT NULL, 
    `PostName` varchar(255) COLLATE utf8_slovenian_ci DEFAULT NULL, 
    `UserName` varchar(40) COLLATE utf8_slovenian_ci DEFAULT NULL, 
    `PassWord` varchar(255) COLLATE utf8_slovenian_ci DEFAULT NULL, 
    `EMail` varchar(255) COLLATE utf8_slovenian_ci DEFAULT NULL, 
    `Phone1` varchar(255) COLLATE utf8_slovenian_ci DEFAULT NULL, 
    `Phone2` varchar(255) COLLATE utf8_slovenian_ci DEFAULT NULL, 
    `Ticket` varchar(255) COLLATE utf8_slovenian_ci DEFAULT NULL, 
    `Verification` int(11) DEFAULT '1', 
    `RecordStatus` tinyint(1) DEFAULT '1', 
    PRIMARY KEY (`Id`) 
) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COLLATE=utf8_slovenian_ci; 

回答

3

是因爲斯洛文尼亞需要這個編碼吸收某些字母在字母表他們?

也許不是因爲UTF-8已經涵蓋了所有可以想象的字符排序規則可能包含排序和比較規則的具體斯洛文尼亞(見here概述了排序規則的作用以及排序規則的變化方式。)

如果我使用英語,我可以省略這個嗎?

如果您不需要任何特定於國家/地區的規則,您應該可以使用_general排序規則之一。

1

是的,你可以省略這個,雖然會使用utf8,因爲它可以存儲任何類型的字符而不僅僅是英文。特定的語言排序規則用於排序。我不會推薦使用斯洛文尼亞文(或任何其他語言版本),除非你有一個非常具體的理由這樣做。我認爲最好使用utf_unicode_ci。