Кодировка СУБД MySQL (Charset MySQL)

Вся суть в том, что и файловый сервер (хостинг) и СУБД MySQL отдают данные к конкретной кодировке,
которая прописана у них в файлах конфигурации по умолчанию. Если сайт в другой кодировке, то будет
некорректное отображение как самих файлов php, так и данных, возвращаемых СУБД MySQL.

Кодировки меняются в корфигурационных файлах файлового сервера (например Apache или Nginx) httpd.conf
так же можно изменять настройки конфигурации сервера под определенную директорию (сайт) для этого
существует файл .htaccess .

У СУБД MySQL конфигурационный файл называется либо my.ini, либо my.cnf в зависимости от ОС на которой
установлена СУБД MySQL.

В этом файле конфигурации устанавливается кодировка в которой возвращаются данные из базы. Вне зависимости
от того в какой кодировке сама читаемая база

Кароче суть в том, что база отдает скриптам на сервере данные в конкретной кодировке и патому уже сервер всю эту
информацию отдает в своей кодировке.

show variables — посмотреть данные

после доключения к базе вставьте строку
mysql_query('SET NAMES cp1251');

Может ещё кому понадобится:
В my.ini в секции [mysqld] пишется строка:
init-connect='SET NAMES cp1251'
и кодировка будет устанавливаться при каждом соединении автоматом.

[mysqld]

init_connect='SET NAMES cp1251'

mysql_set_charset();

На этом вроде бы всё, если ещё, что то вспомню, то обязательно допишу в этот пост. Надеюсь теперь проблема с кодировками при работе с системой управления базами данных MySQL у вас не вызовет затруднений.

Поделиться!
Tags: , ,

49.68MB | MySQL:52 | 0,302sec