От доста време търся отговор на следния въпрос:

Каква е разликата между utf8_unicode_ci и utf8_general_ci (MySQL collations)?

PHP/MySQL е тъмна Индия за мен, така че с интерес прочетох следния кратък материал по въпроса:

http://forums.mysql.com/read.php?103,187048,188748#msg-188748

В общи линии излиза, че почти няма разлика между двете; може да се каже и че utf8_unicode_ci е малко по-точен, а utf8_general_ci е малко по-бърз (или поне това разбрах от обясненията)…

(Явно не съм сбъркал, когато се чудех преди време, какви настройки да избера за WP при инсталирането на нашите блогове преди 2 години и нещо, и накрая се спрях на DB_CHARSET: utf8 и DB_COLLATE: utf8_unicode_ci. Спомням си и че в WordPress 2.0.5 тези настройки все още не присъстваха, така че се правеше един “хак” при връзването към базата данни, май се редактираше на ръка wp-db.php в /wp-includes/…)

Също и предполагам, ако планирате да пишете на повече от един език и/или на език, различен от US/UK English, utf8_unicode_ci е по-добрият избор — примерно, немската буква “ß” ще бъде коректно подредена близо до “ss” (при utf8_general_ci това няма да се случи). Има и други интересни разлики, така че хвърлете едно око на материала, ако ви е интересно…

Leave a Reply

Your email address will not be published. Required fields are marked *