Настройка кодировки MySQL на XAMPP (UTF-8)

xampp control panel

Некоторые умельцы используют Денвер для тестирования сайта. Я думал, что эта косая сборка уже давно умерла.

Каюсь, я и сам использовал ее лет 10 назад. Но было очень неудобно, косо, глючно. Сразу же решил нормально поставить веб-сервер Apache + PHP + MySQL, оставив от Denwer лишь заглушку на Sendmail.
В установке и настройке связки нет ничего сложного, но натыкаешься на кучу подводных камней при первоначальном конфигурировании.

В наши дни сверхскоростей на эти поиски совершенно нет времени. Поэтому легче поставить готовую сборку и плясать уже от нее. Перепробовав множество решений, я рекомендую XAMPP.

И первая проблема, с которой сталкиваешься после установки XAMPP — это кодировка.

В сети есть хорошая инструкция от Sergey Danielyan: Корректная настройка MySQL для работы с UTF8. Рекомендую почитать для понимания что такое charset и что такое collation. Здесь же опишу лишь алгоритм действий.

Кодировка MySQL настраивается в файле my.ini (в панели управления XAMPP: Config > my.ini)

В случае XAMPP директивы, описанные в вышеуказаной статье, можно сократить:

[client]
...

default-character-set = utf8

[mysqld]
...

## UTF 8 Settings
character-set-server = utf8

Перезапускаем службу. Заходим в консоль MySQL (в XAMPP: Shell > mysql -uroot -p), даем команды:

SHOW VARIABLES LIKE 'char%';
SHOW VARIABLES LIKE 'collation%';

Как видим, теперь выставлена кодировка utf8 и сопоставление utf8_general_ci, чего мы и добивались.

+--------------------------+---------------------------------+
| Variable_name            | Value                           |
+--------------------------+---------------------------------+
| character_set_client     | utf8                            |
| character_set_connection | utf8                            |
| character_set_database   | utf8                            |
| character_set_filesystem | binary                          |
| character_set_results    | utf8                            |
| character_set_server     | utf8                            |
| character_set_system     | utf8                            |
| character_sets_dir       | D:\server\mysql\share\charsets\ |
+--------------------------+---------------------------------+

+----------------------+-----------------+
| Variable_name        | Value           |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database   | utf8_general_ci |
| collation_server     | utf8_general_ci |
+----------------------+-----------------+

Лепота.
XAMPP MySQL charset

Total
0
Shares
4 comments
  1. Спасибо заработало. Если честно сплошные проблемы с этим Xampp на каждом шагу какие-т шибки возникают. Думаю перейти а openserver.

    1. Да, OpenServer весьма хорош, если разрабатываете под Windows.
      Я сейчас использую команду python3 -m http.server, а если нужно что-то сложнее, то разворачиваю сразу на тестовом хостинге.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Previous Article
Главная страница Sputnik.ru

Новый гос. поиск Спутник

Next Article

Отличия mysqli_fetch_array и mysqli_fetch_row

Related Posts
Далее

Работа с Hestia CLI / Vesta CLI

Попробовал Vesta CLI, т.е. управление панелью Vesta через командную строку (терминал).Мягко говоря, сыровато. Например, при добавлении базы данных…
Кодировки в Интернет. 2010-2016 годы.
Далее

Кодировка Windows-1251 никак не умрет

Уже столько лет UTF-8 шагает по планете, но постоянно встречаются умственно отсталые проекты на Windows-1251. Как правило, все…