So lösen Sie das Problem mit verstümmelten PHP-Sockets

藏色散人
Freigeben: 2023-03-02 13:30:02
Original
3693 Leute haben es durchsucht

Lösung für verstümmelten PHP-Socket-Code: Überprüfen Sie zunächst die Kodierung der Fehlermeldung mit der Methode „mb_detect_encoding(socket_last_error($socket))“ und konvertieren Sie dann die Fehlermeldung in „UTF-8“-Kodierung.

So lösen Sie das Problem mit verstümmelten PHP-Sockets

PHP-Schreib-Socket-Fehlermeldung verstümmeltes Problem

Problem

Seit der Standardeinstellung des PHP-Projekts Es wird die UTF-8-Kodierung verwendet. Da es sich bei der Fehlermeldung bei Verwendung der Socket-Programmierung nicht um die verwendete UTF-8-Kodierung handelt, werden die Ausgabefehler im Browser und in der Konsole in verstümmelten Zeichen angezeigt.

Die Fehlermeldung lautet wie folgt:

socket_connect(): unable to connect [10061]: ����Ŀ����������ܾ����޷����ӡ�
Nach dem Login kopieren

Verarbeitungsprozess

1. Überprüfen Sie zunächst die Kodierung der Fehlermeldung durch den folgenden Code

mb_detect_encoding(socket_last_error($socket))
Nach dem Login kopieren

Das Ergebnis wird als ASCII ausgegeben.

2. Aus dem Prüfergebnis des ersten Schritts geht hervor, dass die Codierung der Fehlermeldung nicht UTF-8 ist, sodass die Fehlermeldung in die UTF-8-Codierung konvertiert werden muss. Dies kann durch die folgende Funktion erreicht werden:

 function doEncoding($str){
        $encode = strtoupper(mb_detect_encoding($str, ["ASCII",'UTF-8',"GB2312","GBK",'BIG5']));
        if($encode!='UTF-8'){
            $str = mb_convert_encoding($str, 'UTF-8', $encode);
        }
        return $str;
    }
Nach dem Login kopieren

Das Ausgabeergebnis ist nach der Konvertierung durch diesen Code normal

socket_connect() fehlgeschlagen Grund: Die Verbindung kann nicht hergestellt werden, da der Zielcomputer dies aktiv ablehnt .

Weitere Informationen zu diesem Thema finden Sie auf der PHP-Website für Chinesisch!

Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem mit verstümmelten PHP-Sockets. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage