PHP でソケットを記述するときに文字化けするエラー メッセージの解決策: まず、エラー メッセージのエンコーディングを確認します (コードは [mb_detect_encoding(socket_last_error($socket)])。次に、エラー メッセージを [UTF-8] エンコーディングに変換します。最後に変換出力結果は正常です
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 サイトの他の関連記事を参照してください。