1

Тема: экспорт и импорт дампа в зависимости от кодировки

При экспорте базы данных с хоста я выставляю кодировку Windows-1251. Полученный дамп успешно импортируется на локалхост. Если импортировать с хоста в кодировке UTF-8, то при его импорте говорит "нет SQL-запроса". Почему так происходит?

Исходя из первого вопроса вопрос второй:

Прошу "на пальцах" рассказать почему и зачем база использует такие параметры как "Сопоставление соединения с MySQL", "Сравнение самой базы" и "Сравнение полей отдельных таблиц базы" (может ещё какое-то сравнение есть). Почему нельзя заделать один параметр "кодировка" и всё? В чём различие этих сравнений и за что они отвечают?

Заранее спасибо.

2

Re: экспорт и импорт дампа в зависимости от кодировки

Oughtem
Если экспортируете в windows-1251, то и импортировать надо в windows-1251. Даже не знаю, что здесь можно добавить.

"Сопоставление соединения с MySQL" - эту настройку использует не БД, а скрипт, в данном случае phpMyAdmin. Допустим, вам необходимо произвести поиск по таблицам имеющим сравнение cp1251_general_ci, тогда необходимо выбрать именно его в списке сопоставления, чтобы поиск осуществлялся с учетом кодировки/сопоставления.

"Сравнение самой базы" - Установка кодировки БД. Таблицы, создаваемые в этой БД и не имеющие параметра кодировки, будут принимать кодировку БД.

"Сравнение отдельных таблиц базы" - Устанавливает кодировку таблицы. Поля, создаваемые в данной таблице и не имеющие установленного параметра сравнения, будут принимать кодировку указанную здесь. В одной БД могут быть таблицы с данными в различной кодировке.

"Сравнение полей таблицы" - Устанавливает сравнение/кодировку хранимых данных. В одной таблице могут быть поля содержащие данные в различных кодировках или, например, имеющие различные сравнения одной кодировки.

Сравнение - это указание кодировки и ее вида, что требуется для более точного функционирования поиска. Например, в полях имеющих сравнение cp1251_general_ci будет осуществляться поиск символов в кодировке cp1251 (windows-1251) в регистронезависимом виде.
cp1251_general_cs - то же самое, но в регистрозависимом виде.

3

Re: экспорт и импорт дампа в зависимости от кодировки

что получается: наличие четырёх видов сопоставления/сравнения существует только для возможности поиска в определённой кодировке?

4

Re: экспорт и импорт дампа в зависимости от кодировки

Oughtem

Oughtem сказал:

что получается: наличие четырёх видов сопоставления/сравнения существует только для возможности поиска в определённой кодировке?

Совершенно верно. Именно в функции хранения и выборки по значению (поиск) и заключается смысл БД.