2013-09-29 10 views
8

Po utworzeniu bazy danych z wiersza poleceń mysql z zestawami znaków, pojawia się następujący błąd: Unknown character set: utf8_unicode_ci. Ale kiedy uruchomię ten sam SQL w phpmyadmin, działa dobrze bez błędów i nie mogę zrozumieć, dlaczego?error: Nieznany zestaw znaków: 'utf8_unicode_ci'

SQL: wiersz poleceń

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 SET CHARACTER sx = utf8 UKLADAJ = utf8_unicode_ci; Zapytanie OK, dotknięte 1 wiersz (5,5 s) 'Z jakiej wersji mysql korzystasz? – zerkms

+0

@zerkms: wersja jest: 5.5.29 –

Odpowiedz

9

Skoro jesteś uzyskiwanie błąd Unknown character set: 'utf8_unicode_ci' musisz być określenie utf8_unicode_ci (co jest sortowania) jako zestaw znaków. Sprawdź swoje polecenie i spróbuj ponownie.

+0

nie, składnia sql jest poprawna, działa, gdy uruchamiam komendę wyłącznie teraz, ale gdy uruchamiam kilka poleceń sql w skrypcie, otrzymuję ten błąd –

+1

@HenrikSandin: Jeśli otrzymasz to błąd podczas "* uruchamiania kilku poleceń sql w skrypcie *", skąd możesz mieć pewność, że to polecenie spowodowało błąd? – eggyal

+1

ah, po pewnym debugowaniu, dowiaduję się, że to nie była komenda tworzenia bazy danych, która była winowajcą, zostałem oszukany przez komunikat o błędzie ysql: near "create database sx", –

6

Zmień swoją DB_CHARSET utf8_general_ci do utf8