2013-09-29 40 views
8

在使用字符集从mysql命令行创建数据库时,出现以下错误:Unknown character set: utf8_unicode_ci。但是,当我在phpmyadmin中运行相同的SQL时,它没有错误地工作正常,我不知道为什么?错误:未知字符集:'utf8_unicode_ci'

的SQL:

CREATE DATABASE sx CHARACTER SET =utf8 COLLATE = utf8_unicode_ci; 

mysql命令行:

mysql -u root -ppassword -h localhost --default-character-set=utf8 
+1

'MySQL的> CREATE DATABASE SX CHARACTER SET = UTF8 COLLATE = utf8_unicode_ci; 查询确定,1行受影响(5.59秒)'您使用的是什么mysql版本? – zerkms

+0

@zerkms:版本是:5.5.29 –

回答

9

既然你得到的错误Unknown character set: 'utf8_unicode_ci',你必须指定utf8_unicode_ci(这是一个整理)作为字符集。检查你的命令,然后重试。

+0

不,sql语法是正确的,它在我现在单独运行命令时有效,但是当我在脚本中运行多个sql命令时出现此错误 –

+1

@HenrikSandin:如果你得到这个当你“*在脚本*中运行几个sql命令”时出错,你怎么能确定它是这个命令导致了错误? – eggyal

+1

啊,经过一番调试,我发现它不是create database command的罪魁祸首,我被ysql的错误语句骗了:在“create database sx”附近, –

6

更改值为db_charset utf8_general_ciUTF8