2016-08-19 3 views
1

ich eine Grails Web-Anwendung haben und verwenden Mysql, wenn ich persischer String abfragen, habe ich diesen Fehler gesehen:Abfrage mysql Fehler verursacht: Illegal Mix von Sortierungen (latin1_swedish_ci, IMPLIZIT)

ERROR util.JDBCExceptionReporter - Illegal mix of collations  (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=' 

das ist mein Datenquelle config:

 dataSource { 
     driverClassName = "com.mysql.jdbc.Driver" 
     dialect = "org.hibernate.dialect.MySQL5InnoDBDialect" 
     username = "user" 
     password = "pass" 
     url = "jdbc:mysql://localhost/nicefamilytree?useUnicode=yes&characterEncoding=UTF-8" 
     } 

ich Abfrage mysql Variable (show Variablen wie 'Sortierungs%') und das Ergebnis ist wie folgt:

mysql> show variables like '%collation%'; 
+----------------------+-------------------+ 
| Variable_name  | Value    | 
+----------------------+-------------------+ 
| collation_connection | utf8_general_ci | 
| collation_database | utf8_general_ci | 
| collation_server  | latin1_swedish_ci | 
+----------------------+-------------------+ 

ich unten lief Befehl Datenbank charset zu ändern:

ALTER DATABASE db_name CHARACTER SET utf8 COLLATE utf8_general_ci; 

aber collation_server nicht ändern und ich habe denselben Fehler in Abfrage.

+0

Der Befehl "Alter" konvertiert keine vorhandenen Tabellen, sondern legt nur den Standardwert für neu erstellte Tabellen fest. siehe http://stackoverflow.com/questions/6115612/how-to-convert-an-entire-mysql-database-characterset-and-collation-to-utf-8 – Abs

+0

'SHOW VARIABLES LIKE 'char%';' und 'SHOW CREATE TABLE'. –

Antwort

1

Ihre DataSourceConfig ändern wie folgt:

dataSource { 
     driverClassName = "com.mysql.jdbc.Driver" 
     dialect = "org.hibernate.dialect.MySQL5InnoDBDialect" 
     username = "user" 
     password = "pass" 
     url = "jdbc:mysql://localhost/nicefamilytree?useUnicode=yes 
     } 

keine Konvertierungen Machen und nur retten, was Sie bekommen.

Nicht sicher, ob es hilft !!

Verwandte Themen