PHP編寫socket錯誤信息亂碼的解決辦法:首先對錯誤信息編碼進行檢查,代碼為【mb_detect_encoding(socket_last_error($socket)】;然后將錯誤信息轉為【UTF-8】編碼;最后轉換輸出結果正常即可。
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; }
通過該代碼轉換之后輸出結果正常。