使用mysqladmin设置数据库字符集时出现问题

时间:2012-03-22 15:13:41

标签: mysql mariadb mysqladmin

在shell命令提示符下:

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 for Win32(ia32),默认字符集为latin1 (无.ini)
  2. MySQL 5.0.77 for linux-gnu(i686),默认字符集为utf8
  3. 在这两种情况下,--default-character-set=utf8--default-character-set=latin1执行 NOT 都会覆盖MySQL服务器的.ini / .cnf设置。

3 个答案:

答案 0 :(得分:1)

作为一种解决方法,我建议运行:

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

答案 1 :(得分:0)

表面上我会说这似乎是一个mysqladmin错误。我会让MariaDB开发者了解它。

http://kb.askmonty.org/en/reporting-bugs有关于报告错误的一般说明(忽略关于使用mysqlbug脚本的一点,因为它在Windows上不可用)。

P.S。如果MariaDB中存在错误,它可能也存在于MySQL中。

答案 2 :(得分:0)

  

--default-character-set=utf8似乎没有效果,我也不明白为什么。

     

创建数据库,但字符集为latin1,排序为latin1_swedish_ci

此选项在创建数据库,表或列时不会影响其字符。

default-character-set是与服务器连接的字符集 - 它确保您从数据库中选择的值通过正确的编码显示到客户端。