_______            ___   ______     _      __
 /_  __(_)___  _____( _ ) /_  __/____(_)____/ /_______
  / / / / __ \/ ___/ __ \/|/ / / ___/ / ___/ //_/ ___/
 / / / / /_/ (__  ) /_/  </ / / /  / / /__/ ,< (__  )
/_/ /_/ .___/____/\____/\/_/ /_/  /_/\___/_/|_/____/
     /_/

Ustawienie kodowanie polskich znaków w MySQL

Kodowanie polskich znaków możemy ustawić poprzez dopisanie kilku opcji w pliku konfiguracyjnym MySQL. Plik znajduje się na ścieżce /etc/mysql/conf.d/mysql.conf, oczywiście tam gdzie serwer baz danych to MySQL a nie MariaDB. W pliku dopisujemy następujące opcje.

[mysql]
default-character-set = utf8
[mysqld]
collation-server = utf8_polish_ci
init-connect = 'SET NAMES utf8'
character-ser-server = utf8

Restartujemy serwer.

$ sudo systemctl restart mysql

Po zrestartowaniu serwera możemy sprawdzić ustawienia za pomocą dwóch poleceń.

mysql> SHOW VARIABLES LIKE 'char%'

Powinniśmy zobaczyć, że każda zmienna jest ustawiona na utf8, poza jedną - ustawioną na binary.

mysql> SHOW VARIABLES LIKE 'colla%'

Pierwsza zmienna powinna mieć wartość utf8_general_ci, natomiast pozostałe utf8_polish_ci. Te zmiany spowodują wyświetlanie polskich znaków w konsoli MySQL. Także pozwolną na użycie modyfikatorów ORDER BY z polskimi znakami w operandach.

Źródło: Internet.

~xf0r3m