Ich arbeite kürzlich an einem Projekt. Im Allgemeinen soll das Projekt mit der Datenbank umgehen und die Daten abrufen und über das HTTP -Protokoll an eine Schnittstelle senden. Ich werde nicht über die spezifischen Funktionen sprechen, ich spreche hier nur über einen Punkt - das Codierungsproblem
Im Projekt beinhaltet es den MD5 -Wert aller Daten.
In Java-Projekten ändere ich persönlich die Standardcodierung des Projekts in UTF-8. Die verwendeten Entwicklungstools sind hauptsächlich in Sonnenfinsternis. Es treten jedoch seltsame Probleme auf. Als ich das Projekt in der IDE debuggte, gab es kein Problem, aber nachdem es in ein JAR -Paket eingegeben wurde, wurde es bestanden
Java -Jar Project.jar
Bei der Ausführung gibt die Schnittstelle jedes Mal, wenn die Daten übermittelt werden, die Daten zurück und besagen, dass meine Signatur falsch ist. Mit anderen Worten, es war mein letzter Schritt, bei MD5 -Operationen schief etwas schief.
Warum kann ich es nicht tun, nachdem ich ein JAR -Paket bekommen habe? Nach mehreren Wendungen überprüfte ich den HashCode der Parameter und überprüfte die hexadezimalen Daten aller eingereichten Inhalte. Ich stellte fest, dass es ein Problem mit der Textkodierung gab. In Eclipse ist es korrekt, aber nach dem Eingeben des JAR -Pakets beginnt die Befehlszeile ohne Einstellung der Standard -Zeichenfolgecodierung, sodass die virtuelle Java -Maschine gemäß der Standardcodierung des Systems ausgeführt wird. Ich benutze eine Windows -Umgebung, also ist es natürlich GBK -Codierung.
Später bestand die Lösung durch die Suche nach Informationen, um einen Parameter hinzuzufügen, um die Codierung anzugeben:
java -dfile.encoding = utf -8 -jar project.jar
Das ist alles. Das Tool läuft normal.
Danke fürs Lesen, ich hoffe, es kann Ihnen helfen. Vielen Dank für Ihre Unterstützung für diese Seite!