Упорядочить арабские данные по буквам алфавита

Как я могу заказать данные, полученные с MySQL по арабскому алфавиту?

Замечания: я использую utf8_general_ci Что касается сортировки в MySQL, и кодировка в порядке, я просто хочу знать, как сортировать данные по алфавиту.

1

Решение

Чтобы отсортировать арабский текст в базе данных mysql с помощью php, вы должны убедиться, что:

  1. MySQL charset: UTF-8 Unicode (utf8)
  2. Сопоставление соединения MySQL: utf8_general_ci
  3. Ваша база данных и сопоставления таблиц установлены на: utf8_general_ci или же
    utf8_unicode_ci

Поэтому, когда вы создаете свою таблицу, установите для charset значение utf8:

CREATE TABLE my_table (
id int(11) NOT NULL auto_increment,
name varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
PRIMARY KEY  (id)
) DEFAULT CHARSET=utf8;

Если у вас уже есть таблица, закодированная в latin1, конвертируйте это так:

ALTER TABLE `my_table` CONVERT TO CHARACTER SET utf8

Увидеть : Набор символов в MySQL.

Затем вам нужно добавить строку в ваш PHP при настройке подключения к базе данных:

mysql_query ('SET NAMES \'UTF8\'');

Или же :

mysql_set_charset ('UTF8'); // PHP 5.2.3 or greater.

Или если вы используете PDO, вы можете передать его как 4-й параметр, например:

$db = new PDO ('mysql:host=localhost;dbname=tests', 'root', '',
array (PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''));

Также не забудьте установить заголовок ваших страниц на utf8 :

header ('Content-type:text/html; charset=utf-8');

Пример сортировки запроса:

$sql = "SELECT * FROM my_table ORDER BY name" ;

Надеюсь это поможет.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector