Das Projekt interagiert mit dem Server, greift über Post auf die serverseitige JSP zu, und die JSP greift auf die serverseitige MySQL-Datenbank zu. Schließlich ist der an den Client zurückgegebene chinesische Text verstümmelt. Während des gesamten Vorgangs kann es drei Gründe für den Fehler geben: Die Post-Kodierung ist nicht festgelegt oder die Kodierung ist inkonsistent, es liegt ein Problem mit JDBC vor und es liegt ein Problem mit der anfänglichen Kodierung von MySQL unter Linux vor. Nach langwieriger Fehlersuche wurde schließlich festgestellt, dass es sich um ein MySQL-Kodierungsproblem handelte. Nachfolgend wird beschrieben, wie Sie das Problem der chinesischen Verstümmelung von MySQL unter Linux lösen können. Rufen Sie zuerst den MySQL-Befehlszeilenmodus auf und geben Sie zum Aufrufen mysql -uroot -p ein. Geben Sie dann Wenn der Anzeigeinhalt diesem ähnelt: +--------------------------+----------------------------------------------+ | Variablenname | Wert | +--------------------------+----------------------------------------------+ | Zeichensatzclient | utf8 | | Zeichensatzverbindung | utf8 | | Zeichensatzdatenbank | utf8 | | Zeichensatz_Dateisystem | Binär | | Zeichensatzergebnisse | utf8 | | Zeichensatzserver | utf8 | | Zeichensatzsystem | utf8 | | Zeichensatzverzeichnis | /alidata/server/mysql-5.1.73/share/charsets/ | Die Änderung war korrekt und die Standard-Anfangseinstellung von MySQL ist latin1 statt utf8. Eine Lösung besteht darin, die Eigenschaften der Tabelle auf UTF-8 zu ändern oder beim Erstellen der Tabelle am Ende Die grundlegendste Lösung besteht darin, die MySQL-Konfigurationsdatei zu öffnen und zu ändern. Die MySQL-Konfigurationsdatei unter Linux heißt my.cnf und das Verzeichnis ist /etc/my.cnf. Führen Sie nach dem Öffnen die folgenden Schritte aus: --Fügen Sie drei Zeilen unter dem Tag [mysqld] hinzu: default-character-set = utf8 Zeichensatzserver = utf8 lower_case_table_names = 1 //Bei Tabellennamen wird nicht zwischen Groß- und Kleinschreibung unterschieden (das hat nichts mit der Kodierung zu tun) --Fügen Sie unter dem Tag [mysql] eine Zeile hinzu: default-character-set = utf8 --Fügen Sie unter dem Tag [mysql.server] eine Zeile default-character-set = utf8 hinzu --Fügen Sie unter dem Tag [mysqld_safe] eine Zeile default-character-set = utf8 hinzu --Fügen Sie unter dem Tag [client] eine Zeile default-character-set = utf8 hinzu Es macht nichts, wenn Sie nicht alle der oben genannten Tags finden können. Öffnen Sie die MySQL-Befehlszeile erneut und führen Sie
Führen Sie nach der Ausführung den obigen Show-Befehl erneut aus, um das Zielergebnis zu erhalten. Nachdem die Einstellungen abgeschlossen sind, müssen Sie MySQL neu starten und den Neustartbefehl /etc/init.d/mysqld verwenden. Die ursprüngliche Datentabelle muss gelöscht und neu erstellt werden. Endlich fertig, erledigt. Zusammenfassung 1. Ändern Sie die Datei /etc/my.cnf und fügen Sie die folgenden Zeilen hinzu: [Kunde] # Rohr= # socket=MYSQL Port = 3306 Standardzeichensatz = utf8 [mysql] kein Piepton # Standardzeichensatz= Standardzeichensatz = utf8 #SERVER-ABSCHNITT # ---------------------------------------------------------------------- # Die folgenden Optionen werden vom MySQL-Server gelesen. Stellen Sie sicher, dass # Sie haben den Server richtig installiert (siehe oben), so dass er dies liest # Datei. # server_type=3 [mysqld] Zeichensatzserver = utf8 2. Starten Sie den MySQL-Dienst neu: Dienst MySQL stoppen; Dienst-MySQL-Status; Dienst MySQL starten; Oder starten Sie den MySQL-Dienst neu. Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an Das könnte Sie auch interessieren:
|
<<: Eine kurze Analyse zum Festlegen des Anfangswerts des Linux-Roots
>>: Vue implementiert eine einfache Produktion von Zählern
In diesem Artikel wird der spezifische Code von j...
1. Hintergrund Während des Serverentwicklungsproz...
Vue3.0 ist bereits seit einiger Zeit auf dem Mark...
In diesem Artikelbeispiel wird der spezifische Co...
Ich bin sehr glücklich. Wenn ich auf dieses Probl...
Überblick Ich glaube, dass wir häufig auf solche ...
Inhaltsverzeichnis Vorwort 1. Nginx-Installation ...
Ich habe ein Dockerfile für OpenResty auf CentOS7...
Vorne geschrieben Im heutigen Internetbereich ist...
Apple-Becher-Symbole und Extras HD StorageBox – Z...
Inhaltsverzeichnis Grundlegende Selektorerweiteru...
Inhaltsverzeichnis 1. Übersicht 2. Digitale Aufzä...
Heute habe ich zufällig einem Freund beim Umzug s...
BFC-Konzept: Der Blockformatierungskontext ist ei...
Guter HTML-Code ist die Grundlage einer schönen W...