Проблемы с настройкой набора символов базы данных с помощью mysqladmin

В командной строке оболочки:

mysqladmin -u"username" -p"password" --default-character-set=utf8 CREATE my_db_schema

--default-character-set=utf8кажется, не имеет никакого эффекта, и я не понимаю, почему.

База данных создается, но набор символов latin1 с сопоставлением latin1_swedish_ci,

Я нашел этот вопрос, который, казалось бы, та же самая проблема, но даже когда я попробовал пользователя без полномочий root, как предложил выбранный ответ, я получаю идентичное поведение:

(Я использую Windows и MariaDB, если это имеет какое-либо значение)


Я пробовал эти клиенты mysqladmin.exe:

  1. MariaDB 5.3.2 для Win32 (ia32) с набором символов по умолчанию latin1 (нет.ini)
  2. MySQL 5.0.77 для linux-gnu (i686) с набором символов по умолчанию utf8

В обоих случаях, --default-character-set=utf8 или же --default-character-set=latin1 НЕ перезаписывайте настройки.ini /.cnf сервера MySQL.

3 ответа

В качестве обходного пути я бы предложил запустить:

echo "CREATE DATABASE my_db_schema DEFAULT CHARACTER SET utf8" | mysql -uusername -ppassword

--default-character-set=utf8 кажется, не имеет никакого эффекта, и я не понимаю, почему.

База данных создается, но набор символов latin1 с сопоставлением latin1_swedish_ci,

Эти параметры не влияют на характер базы данных, таблицы или столбца при их создании.

default-character-set является набором символов соединения с сервером - он гарантирует, что значения, выбранные вами из базы данных, передаются клиенту с правильной кодировкой для отображения.

На первый взгляд, я бы сказал, что это ошибка mysqladmin. Я бы дал знать разработчикам MariaDB об этом.

http://kb.askmonty.org/en/reporting-bugs содержит общие инструкции о том, как сообщать об ошибках (не обращайте внимания на использование сценария mysqlbug, поскольку он недоступен в Windows).

PS И если ошибка существует в MariaDB, она, вероятно, также существует в MySQL.

Другие вопросы по тегам