Maison >développement back-end >Problème PHP >Que dois-je faire si le message d'erreur lors de l'écriture d'un socket en PHP est tronqué ?

Que dois-je faire si le message d'erreur lors de l'écriture d'un socket en PHP est tronqué ?

coldplay.xixi
coldplay.xixioriginal
2020-07-11 11:21:222778parcourir

Solution au message d'erreur tronqué lors de l'écriture d'un socket en PHP : vérifiez d'abord l'encodage du message d'erreur, le code est [mb_detect_encoding(socket_last_error($socket)] ; puis convertissez le message d'erreur en encodage [UTF-8] ; enfin Le résultat de la conversion est normal

Que dois-je faire si le message d'erreur lors de l'écriture d'un socket en PHP est tronqué ?

Solution au message d'erreur de socket tronqué lors de l'écriture en PHP :

1. . Tout d'abord, utilisez le code suivant pour vérifier l'encodage du message d'erreur

mb_detect_encoding(socket_last_error($socket))

Le résultat est affiché au format ASCII

2. que le codage du message d'erreur n'est pas UTF-8, il est donc nécessaire de convertir le message d'erreur en codage UTF-8. Cela peut être réalisé grâce à la fonction suivante :

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;
    }

Après la conversion du code, le le résultat de sortie est normal

Recommandations d'apprentissage associées : Programmation PHP du débutant au maître

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn