2017-11-27 7 views
0

Ich benutze Mybatis, um eine Verbindung zu einer MySQL-Datenbank herzustellen, einige Spalten verwenden latin1_swedish_ci als Zeichencodierung, die bei der Abfrage der Datenbank seltsame Texte ergeben.lesen latin1_swedish_ci Text in MySQL mit MyBatis

Ich habe versucht, die Codierung auf dem Java-Code zu ändern, aber keine Lösung funktioniert für mich.

Was ich versucht:

ByteBuffer byteBuffer = Charset.forName("UTF-8").encode(myString) 

oder:

byte ptext[] = myString.getBytes("latin1"); 
String value = new String(ptext, "UTF-8"); 

jede Lösung die Daten über die UTF8-Codierung zu bekommen?

Antwort

0

ich es gefunden, für jeden, der dieses Problem haben, In meinem Fall die Zeichen in der arabischen sein sollte, ich dies geschafft:

  • In der Konfigurationsdatei, änderte ich die Verbindungszeichenfolge diese

    jdbc: mysql: //path.to.db useUnicode = true & characteren = uTF8

  • Immer, wenn ich den Text auf dem lesbaren Format benötigen, verwende ich diese

    String lesbareString = neue Zeichenfolge (dbString.getBytes ("8859_1"), "Cp1256");

0

Verbindung mit utf8, nicht latin1. MySQL konvertiert beim Lesen aus den latin1-Spalten.