Warum schlägt die einheitliche Zahlungsüberprüfung von iOS WeChat fehl? Ich bin wirklich besorgt, weil meine Unterschrift fehlgeschlagen ist und ich immer noch nicht bezahlen kann. Das Hauptproblem ist, dass der Text auf Chinesisch ist, was sehr mühsam zu lösen ist, aber ich kann keine Artikel finden Das löst das Problem vollständig. Kurz gesagt, es sind alle möglichen Probleme. Ich werde hier nicht auf Details eingehen, kommen wir zum Punkt:
Da die Projekte des Unternehmens eine Zahlung über WeChat erfordern, stellte ich fest, dass bei der Bereitstellung immer Signaturfehler gemeldet wurden Ein Codierungsproblem, also werden wir es lösen, wenn wir den Grund finden. In diesem Artikel werden drei Lösungen im Detail vorgestellt. Wenn Sie nur wenig Zeit haben, um es zu lesen, gehen Sie hoffentlich direkt zur dritten Lösung über es kann jedem helfen.
Die Standardkodierung von Tomcat in der Fensterumgebung ist gbk, also stellen Sie die Tomcat-Kodierung auf utf-8 ein.
Schritt 1: Fügen Sie
set JAVA_OPTS=-Xms128m -Xmx512m -XX:MaxPermSize=256m -Dfile.encoding=utf-8 -Dsun.jnu.encoding=utf-8
zur zweiten Zeile des Headers in catalina.bat hinzu. Schritt 2: Fügen Sie
URIEncoding="UTF-8 to server.xml " useBodyEncodingForURI hinzu ="true", bewirkt, dass die von Tomcat gesendete Anfrage utf-8 verwendet, wie im folgenden Code gezeigt
<Connector port="8081" protocol="HTTP/1.1"
redirectPort="8443" URIEncoding="UTF-8" useBodyEncodingForURI=" true" />
Möglicherweise sind in der Konsole verstümmelte Zeichen vorhanden, aber es ist in Ordnung, wenn Sie es in gbk ändern, die WeChat-Signatur jedoch fehlschlägt
String body = new String("body Chinese field value".toString().getBytes("ISO8859-1"),"UTF-8") ;
Allerdings: Der von WeChat zurückgegebene Produktname wird verstümmelt sein
Die Standardkodierung von Tomcat in der Fensterumgebung ist gbk. Wenn Sie also eine MD5-Signatur durchführen, stellen Sie die Kodierung auf utf-8 ein.
Dies ist die MD5-Signatur-Tool-Klasse, die ich verwende:
让java环境使用utf-8编码
Verwandte Empfehlungen:
WeChat-App-Zahlung: Zahlungsberechtigungen Die Prüfung ist fehlgeschlagen. Warum?
WeChat-App-Zahlung: Prüfung der Zahlungsberechtigung fehlgeschlagen, was ist der Grund?
Das obige ist der detaillierte Inhalt vonWarum schlägt die Überprüfung oder Signatur der WeChat-Zahlung fehl? Im Anhang finden Sie drei Lösungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!