2 Stimmen

Setzen Sie den Google Cloud SQL character-set-server

Ich möchte Google Cloud SQL für meine App nutzen, jedoch muss utf8mb4 als Server-Zeichensatz festgelegt werden, um 4-Byte-UTF8-Zeichen (Emoji) korrekt verarbeiten zu können.

Es reicht nicht aus, einfach den Tabellen- oder Datenbankzeichensatz festzulegen, weil die Treiber-Verbindung (mysql-connector-java) basierend auf dem Server-Zeichensatz ausgehandelt wird.

Ist es möglich, den Server-Zeichensatz mit Cloud SQL festzulegen?

Falls nicht, gibt es einen anderen Workaround, mit dem es mir ermöglicht wird, die Treiber-Verbindung auf utf8mb4 zu zwingen?

Hier ist eine Kopie meiner Verbindungszeichenfolge: jdbc:mysql:///?useUnicode=true&characterEncoding=utf-8

Beachten Sie, dass das Festlegen der characterEncoding-Variablen in der Treiber-Verbindungszeichenfolge auf utf-8mb4 oder utf8mb4 illegal ist. Meine besten Informationen besagen, dass es auf utf-8 festgelegt werden muss und dann auf utf8mb4 aktualisiert wird, wenn der Server diesen Zeichensatz verwendet.

1voto

cmorris Punkte 591

Es sieht so aus, als ob dieses Feature am 29.05.2014 zum neuen Instanzmenü auf der Konsole hinzugefügt wurde. Es gibt jetzt ein "character_set_server" Flag, das entweder auf utf8 oder utf8mb4 gesetzt werden kann.

Dies ermöglicht es nicht, den Server-Zeichensatz auf einen beliebigen Zeichensatz festzulegen, löst aber mein Problem und sollte für die meisten Personen ausreichen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X