Zwei Lösungen:
1. Ändern Sie die MySQL-Konfigurationsdatei Fügen Sie auf der Serverseite die Zeile „character_set_server = utf8“ unter [mysqld] hinzu und starten Sie den MySQL-Dienst neu
2. Geben Sie bei Verwendung von jdbc die richtige Codierung an: jdbc:mysql://127.0 .0.1:3306/test?useUnicode=true&characterEncoding= utf8
Erklären Sie diese Parameter:
character_set_client: Der von den Client-Quelldaten verwendete Zeichensatzcharacter_set_server: Standardzeichensatz für interne Operationen
character_set_system: Zeichensatz für Systemmetadatencharacter_sets_dir: Pfad zum Zeichensatz
Ändern Sie die MySQL-Konfigurationsdatei Bearbeiten Sie auf der Serverseite die Datei my.cnf, fügen Sie unter [mysqld] eine Zeile „character_set_server = utf8“ hinzu, starten Sie dann den MySQL-Dienst neu und fragen Sie dann den Zeichensatz ab:
1. Der Zeichensatz, der beim Erstellen der Bibliothek eingestellt wurdeDer Server überträgt die Daten an den Client (character_set_client). Der Zeichensatz wird in „character_set_connection“ konvertiert, und dann wird der Zeichensatz „character_set_connection“ in den entsprechenden Zeichensatz konvertiert und auf der Festplatte gespeichert wird nach folgender Priorität beurteilt:
Dann verstehen Sie den Prozess der Zeichensatzkonvertierung:
Daten einfügen:
3. Der Zeichensatz, der beim Erstellen der Bibliothek festgelegt wurde
4 Daten abfragen:
Der Server konvertiert die Daten aus dem auf der Festplatte gespeicherten Zeichensatz in den Zeichensatz „character_set_results“, kehrt zum Client zurück und analysiert dann
1 JDBC setzt nicht „characterEncoding=utf8“, sondern „character_set_server“. latin1, jdbc stellt mit dem Zeichensatz latin1 eine Verbindung zur Datenbank her, und der Datenbankserver konvertiert latin1 in utf8 und speichert es dann auf der Festplatte (da die durch charakter_set_connection und die Erstellungstabelle angegebenen Zeichensätze beide utf8 sind), was zu verstümmelten Zeichen führt2. jdbc setzt nicht „characterEncoding=utf8“, der Server „character_set_server“ ist „utf8“, oder jdbc setzt „characterEncoding=utf8“ und jdbc ist mit dem Zeichensatz „utf8“ verbunden. Datenbank, Datenbankserver speichert auf der Festplatte in utf8, dann sind die Daten normal
Das obige ist der detaillierte Inhalt vonLösung für das Problem verstümmelter chinesischer Zeichen in der JDBC-Verbindungsdatenbank in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!