Я импортировал ваши данные в таблицу, и они, похоже, отличаются от того, что вы получаете. Каково ваше сопоставление по умолчанию? Мой utf8_general_ci.
Обратите внимание, что даже ваши западные буквы на самом деле не западные буквы. Например, ваш K на самом деле является символом юникода "GREEK CAPITAL LETTER KAPPA".
mysql> show create table foo;
+-------+----------------------------------------------------------------------------------+
| Table | Create Table |
+-------+----------------------------------------------------------------------------------+
| foo | CREATE TABLE `foo` (
`z` text,
`a` text
) ENGINE=MyISAM DEFAULT CHARSET=utf8 |
+-------+----------------------------------------------------------------------------------+
mysql> select * from foo order by z,a collate utf8_general_ci;
+-------------+-------------------------------------------------+
| z | a |
+-------------+-------------------------------------------------+
| ΖΩΝΗ Α | Αγία Βαρβάρα |
| ΖΩΝΗ Α | Αγία Παρασκευή |
| ΖΩΝΗ Α | Αγιοι Ανάργυροι |
| ΖΩΝΗ Α | Αγιος Στέφανος |
| ΖΩΝΗ Α | Αιγάλεω |
| ΖΩΝΗ Α | Ανθούσα |
| ΖΩΝΗ Α | Ανοιξη |
| ΖΩΝΗ Α | Ανω Λιόσια |
| ΖΩΝΗ Α | Αχαρνές (Μενίδι) |
| ΖΩΝΗ Α | Βριλήσσια |
| ΖΩΝΗ Α | Γαλάτσι |
| ΖΩΝΗ Α | Γέρακας |
| ΖΩΝΗ Α | Γλυκά Νερά |
| ΖΩΝΗ Α | Διόνυσος |
| ΖΩΝΗ Α | Δροσιά |
| ΖΩΝΗ Α | Εκάλη |
| ΖΩΝΗ Α | Ζεφύρι |
| ΖΩΝΗ Α | Ηράκλειο |
| ΖΩΝΗ Α | Θρακομακεδόνες |
| ΖΩΝΗ Α | Ιλιον |
| ΖΩΝΗ Α | Κηφισιά |
| ΖΩΝΗ Α | Κρυονέρι |
| ΖΩΝΗ Α | Λυκόβρυση |
| ΖΩΝΗ Α | Μαρούσι |
| ΖΩΝΗ Α | Μελίσσια |
| ΖΩΝΗ Α | Νέα Ερυθραία |
| ΖΩΝΗ Α | Παλλήνη |
| ΖΩΝΗ Α | Παπάγου |
| ΖΩΝΗ Α | Πεντέλη |
| ΖΩΝΗ Α | Περιστέρι |
| ΖΩΝΗ Α | Πετρούπολη |
| ΖΩΝΗ Α | Πεύκη |
| ΖΩΝΗ Α | Ροδόπολη |
| ΖΩΝΗ Α | Σταμάτα |
| ΖΩΝΗ Α | Φιλοθέη |
| ΖΩΝΗ Α | Χαϊδάρι |
| ΖΩΝΗ Α | Χαλάνδρι |
| ΖΩΝΗ Α | Χαλκηδόνα |
| ΖΩΝΗ Α | Χολαργός |
| ΖΩΝΗ Α | Ψυχικό |
| ΖΩΝΗ Β | Αγία Σοφία |
| ΖΩΝΗ Β | Αγιος Βασίλειος |
| ΖΩΝΗ Β | Αγιος Δημήτριος(Μπραχάμι) |
| ΖΩΝΗ Β | Αλιμος |
| ΖΩΝΗ Β | Ανω Γλυφάδα |
| ΖΩΝΗ Β | Αργυρούπολη |
| ΖΩΝΗ Β | Βάρη |
| ΖΩΝΗ Β | Βάρκιζα |
| ΖΩΝΗ Β | Βούλα |
| ΖΩΝΗ Β | Βουλιαγμένη |
| ΖΩΝΗ Β | Βύρωνας |
| ΖΩΝΗ Β | Γλυφάδα |
| ΖΩΝΗ Β | Δάφνη |
| ΖΩΝΗ Β | Ελληνικό |
| ΖΩΝΗ Β | Ζωγράφου |
| ΖΩΝΗ Β | Ηλιούπολη |
| ΖΩΝΗ Β | Καβούρι |
| ΖΩΝΗ Β | Καισαριανή |
| ΖΩΝΗ Β | Καλλιθέα |
| ΖΩΝΗ Β | Καλλίπολη |
| ΖΩΝΗ Β | Καμίνια |
| ΖΩΝΗ Β | Καστέλα |
| ΖΩΝΗ Β | Νέα Σμύρνη |
| ΖΩΝΗ Β | Παλαιό Φάληρο |
| ΖΩΝΗ Β | Υμηττός |
+-------------+-------------------------------------------------+
65 rows in set (0.00 sec)
mysql> set names utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> select * from foo order by z,a collate utf8_general_ci;
+-------------+-------------------------------------------------+
| z | a |
+-------------+-------------------------------------------------+
| ΖΩΝΗ Α | Αγία Βαρβάρα |
| ΖΩΝΗ Α | Αγία Παρασκευή |
| ΖΩΝΗ Α | Αγιοι Ανάργυροι |
| ΖΩΝΗ Α | Αγιος Στέφανος |
| ΖΩΝΗ Α | Αιγάλεω |
| ΖΩΝΗ Α | Ανθούσα |
| ΖΩΝΗ Α | Ανοιξη |
| ΖΩΝΗ Α | Ανω Λιόσια |
| ΖΩΝΗ Α | Αχαρνές (Μενίδι) |
| ΖΩΝΗ Α | Βριλήσσια |
| ΖΩΝΗ Α | Γαλάτσι |
| ΖΩΝΗ Α | Γέρακας |
| ΖΩΝΗ Α | Γλυκά Νερά |
| ΖΩΝΗ Α | Διόνυσος |
| ΖΩΝΗ Α | Δροσιά |
| ΖΩΝΗ Α | Εκάλη |
| ΖΩΝΗ Α | Ζεφύρι |
| ΖΩΝΗ Α | Ηράκλειο |
| ΖΩΝΗ Α | Θρακομακεδόνες |
| ΖΩΝΗ Α | Ιλιον |
| ΖΩΝΗ Α | Κηφισιά |
| ΖΩΝΗ Α | Κρυονέρι |
| ΖΩΝΗ Α | Λυκόβρυση |
| ΖΩΝΗ Α | Μαρούσι |
| ΖΩΝΗ Α | Μελίσσια |
| ΖΩΝΗ Α | Νέα Ερυθραία |
| ΖΩΝΗ Α | Παλλήνη |
| ΖΩΝΗ Α | Παπάγου |
| ΖΩΝΗ Α | Πεντέλη |
| ΖΩΝΗ Α | Περιστέρι |
| ΖΩΝΗ Α | Πετρούπολη |
| ΖΩΝΗ Α | Πεύκη |
| ΖΩΝΗ Α | Ροδόπολη |
| ΖΩΝΗ Α | Σταμάτα |
| ΖΩΝΗ Α | Φιλοθέη |
| ΖΩΝΗ Α | Χαϊδάρι |
| ΖΩΝΗ Α | Χαλάνδρι |
| ΖΩΝΗ Α | Χαλκηδόνα |
| ΖΩΝΗ Α | Χολαργός |
| ΖΩΝΗ Α | Ψυχικό |
| ΖΩΝΗ Β | Αγία Σοφία |
| ΖΩΝΗ Β | Αγιος Βασίλειος |
| ΖΩΝΗ Β | Αγιος Δημήτριος(Μπραχάμι) |
| ΖΩΝΗ Β | Αλιμος |
| ΖΩΝΗ Β | Ανω Γλυφάδα |
| ΖΩΝΗ Β | Αργυρούπολη |
| ΖΩΝΗ Β | Βάρη |
| ΖΩΝΗ Β | Βάρκιζα |
| ΖΩΝΗ Β | Βούλα |
| ΖΩΝΗ Β | Βουλιαγμένη |
| ΖΩΝΗ Β | Βύρωνας |
| ΖΩΝΗ Β | Γλυφάδα |
| ΖΩΝΗ Β | Δάφνη |
| ΖΩΝΗ Β | Ελληνικό |
| ΖΩΝΗ Β | Ζωγράφου |
| ΖΩΝΗ Β | Ηλιούπολη |
| ΖΩΝΗ Β | Καβούρι |
| ΖΩΝΗ Β | Καισαριανή |
| ΖΩΝΗ Β | Καλλιθέα |
| ΖΩΝΗ Β | Καλλίπολη |
| ΖΩΝΗ Β | Καμίνια |
| ΖΩΝΗ Β | Καστέλα |
| ΖΩΝΗ Β | Νέα Σμύρνη |
| ΖΩΝΗ Β | Παλαιό Φάληρο |
| ΖΩΝΗ Β | Υμηττός |
+-------------+-------------------------------------------------+
Обновление:
OK. Я импортировал ваш файл дампа.
Ваша проблема в том, что таблицы содержат неверные данные. На самом деле это двойное кодирование utf8.
Просмотрите таблицы с помощью phpmyadmin: вы должны увидеть мусор вместо текста.
Возможно, в вашем PHP-коде есть ошибка, из-за которой вы забыли выдать SET NAMES utf8 или mysql_set_charset (utf8). И у вас была та же ошибка при вставке.
Поэтому при выдаче
INSERT 'Αγία Παρασκευή'
PHP отправляет данные в кодировке utf-8 в MySQL. Но MySQL считает, что это латынь1. Таким образом, он снова преобразует его в utf8, и ваша таблица содержит мусор.
Когда вы выбираете SELECT, mysql преобразует utf8 обратно в latin1, но на самом деле это дает вам utf8, который вы отправили изначально, поэтому он правильно отображается в вашем приложении.
Но содержимое таблиц является мусором, и сортируется в порядке мусора;)
Сначала вам нужно исправить эту ошибку в вашем коде.
Затем вам нужно экспортировать эти таблицы (файл, который вы дали, работает нормально), удалить их и повторно импортировать их, используя правильный набор символов (добавьте SET NAMES utf8 вверху файла).
Обновление 2:
Если вы хотите знать, не являются ли данные мусором, есть простые приемы:
SELECT upper(yourcolumn) (or lower()...)
SELECT char_length(yourcolumn)
Если это работает (т.е. вы получаете правильный верхний или нижний регистр текста и правильную длину в символах, то это означает, что данные хороши, и MySQL понимает их.
Обычный трюк, чтобы проверить, правильно ли сконфигурировано ваше соединение mysql, состоит в том, чтобы выполнить (в вашем php-коде) этот запрос:
SELECT char_length('é'), octet_length('é'), upper('é')
+-------------------+--------------------+-------------+
| char_length('é') | octet_length('é') | upper('é') |
+-------------------+--------------------+-------------+
| 1 | 2 | É |
+-------------------+--------------------+-------------+
Конечно, вы можете сделать
SHOW VARIABLES LIKE '%character%';
Я использую phpmyadmin и консоль mysql.