Apache не работает на xampp (хампе)

Опубликовано: 16.06.2017

видео apache не работает на xampp (хампе)

Как подключить базу данных MYSQL для сервера SAMP/CRMP!!!

Чтоб решить делему - довольно осознать логику работы. MySQL, начиная с версии 4.1, знает что такое шифровки и как с ними работать. Если до 4.0 он работал с б, то сейчас он работает с знаками.



MySQL написали шведы, потому шифровкой по дефлоту (сходу после установки) является latin1, а "сопоставление" (последовательность букв, алфавит; оказывает влияние на сортировки) - latin1_swedish.

Итак, где шифровки указываются:

1. Шифровка определенной базы/таблицы/столбца. Это шифровка, в какой MySQL будет хранить данные. К примеру, если у вас данные в cp1251, то будет большой ошибкой указывать для хранения шифровку latin1. В ней нет соответствий для российских знаков, они все будут изменены на вопросы. Шифровка хранения можно задать, к примеру, так:


Open Server. Установка и работа с сервером. Как создать сайт. Основы Самостоятельного Сайтостроения

Если шифровка не указана - будет применено значение параметра default-character-set из файла /etc/my.cnf (или latin1, если параметра нет). Кстати, конкретно этот параметр редактирует ISPmanager в свойствах сервера баз данных.

2. Шифровка соединения. Это шифровка, в какой клиент (скрипт юзера, форум, mysql-клиент и т.д.) разговаривает с MySQL. Когда клиент подсоединяется к серверу, тот ему докладывает значение параметра default-character-set. Таким макаром, они договариваются о том, в какой шифровке они будут разговаривать. Шифровку общения можно поменять запросом (его лучше делать сходу после соединения с сервером):

Кстати, огромное количество современных правильных скриптов конкретно это и делают.

Одна сложность: есть ряд кривых клиентов, которые всего этого не понимают и разговаривают в некий собственной шифровке. Индивидуально для их можно написать в /etc/my.cnf, секцию [mysqld]:

Что это значит? Сходу после подсоединения хоть какого клиента, MySQL выполнит запрос "set names utf8", будто бы смену шифровки общения запросил сам клиент.

Это всё, что необходимо знать для решения хоть какой трудности с шифровками в MySQL. Осталось несколько уточнений (самое интересное :)

phpMyAdmin, mysqldump - обыденные клиенты, на их действуют те же самые правила. Одно "но": на все PHP-скрипты (включая phpMyAdmin) действует default-character-set из секции [client] в my.cnf. Для mysqldump есть отдельная секция [mysqldump]. ISPmanager прописывает default-character-set во все секции.

Дамп базы - это обыденный набор MySQL-команд. Если вы в самое его начало напишете "set names cp1251;", то эта команда тоже выполнится и MySQL будет считать, что далее все данные в дампе идут в шифровке cp1251.

Шифровки в MySQL-командах пишутся без кавычек и без "-" (дефисов). Пользующиеся популярностью в Рф шифровки: utf8, cp866 (DOS), cp1251 (windows-1251), koi8r.

И, в конце концов, пара советов: