首頁 >後端開發 >PHP問題 >PHP寫socket錯誤訊息亂碼怎麼辦?

PHP寫socket錯誤訊息亂碼怎麼辦?

coldplay.xixi
coldplay.xixi原創
2020-07-11 11:21:222759瀏覽

PHP寫socket錯誤訊息亂碼的解決方法:先對錯誤訊息編碼進行檢查,程式碼為【mb_detect_encoding(socket_last_error($socket)】;然後將錯誤訊息轉為【UTF-8】編碼;最後轉換輸出結果正常即可。

PHP寫socket錯誤訊息亂碼怎麼辦?

PHP編寫socket錯誤訊息亂碼的解決方法:

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寫socket錯誤訊息亂碼怎麼辦?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn