ホームページ >バックエンド開発 >PHPの問題 >PHPでソケットを書くときのエラーメッセージが文字化けしている場合はどうすればよいですか?

PHPでソケットを書くときのエラーメッセージが文字化けしている場合はどうすればよいですか?

coldplay.xixi
coldplay.xixiオリジナル
2020-07-11 11:21:222778ブラウズ

PHP でソケットを記述するときに文字化けするエラー メッセージの解決策: まず、エラー メッセージのエンコーディングを確認します (コードは [mb_detect_encoding(socket_last_error($socket)])。次に、エラー メッセージを [UTF-8] エンコーディングに変換します。最後に変換出力結果は正常です

PHPでソケットを書くときのエラーメッセージが文字化けしている場合はどうすればよいですか?

PHP でソケットを書くときにエラーメッセージが文字化けする問題の解決策:

1まず、次のコードを使用してエラー メッセージのエンコーディングを確認します。

mb_detect_encoding(socket_last_error($socket))

結果は ASCII.

2 として出力されます。最初のステップの確認結果から、次のことがわかります。エラー メッセージのエンコーディングは UTF-8 ではないため、エラー メッセージを UTF-8 エンコーディングに変換する必要があります。これは次の関数で実現できます:

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

コード変換後の出力結果は次のとおりです。通常

関連する学習の推奨事項:初心者からマスターまでの PHP プログラミング

以上がPHPでソケットを書くときのエラーメッセージが文字化けしている場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。