O и ... порядок как один и тот же символ с ORDER в Zend_Db - PullRequest
2 голосов
/ 13 апреля 2011

Когда я выбираю объекты из базы данных и запускаю магическую функцию Zend -> Order (), или как обычный SQL, например, title, и те, которые содержат шведские символы как åäö, они интерпретируются как aao.Он идет с неправильной сортировкой, или a, или o, когда его действительно следует упорядочить последним.

Кто-нибудь знает, как решить эту проблему?Выглядело как идиот без результата.

Редактировать: Сортировка базы данных - utf8_unicode_ci, а кодировка - utf8.Я пытался перейти на utf8_swedish_ci, но безуспешно.И я боюсь, что мне нужно оставить utf8 или у меня там нет выбора?

1 Ответ

2 голосов
/ 13 апреля 2011

Ваша база данных MySQL настроена на использование правильной сортировки? Я думаю, что по умолчанию установлено шведское сопоставление latin1_swedish_ci: http://dev.mysql.com/doc/refman/5.5/en/charset-we-sets.html

Но если он был изменен на что-то другое (например, latin1), он мог бы упорядочить акцентированные символы по-другому.

Здесь приведены инструкции о том, как указать, какое сопоставление использовать для конкретной БД, столбца или таблицы:

http://dev.mysql.com/doc/refman/5.0/en/charset-syntax.html

Редактировать: Шведское сопоставление - это то, что вам нужно: http://www.collation -charts.org / mysql60 / mysql604.latin1_swedish_ci.html но вы, вероятно, используете общее: http://www.collation -charts.org / mysql60 / mysql604.latin1_general_ci.html

...