php socket亂碼的解決方法:先透過「mb_detect_encoding(socket_last_error($socket))」方法對錯誤訊息的編碼進行檢查;然後將錯誤訊息轉為「UTF-8」編碼即可。
PHP寫socket錯誤訊息亂碼問題
問題
由於php專案預設都是使用的UTF-8編碼,由於使用socket編程時的報錯訊息不是使用的UTF-8編碼,導致輸出的錯誤在瀏覽器和控制台上顯示的都是亂碼。
錯誤提示如下:
socket_connect(): unable to connect [10061]: ����Ŀ����������ܾ��������ӡ�
處理過程
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; }
透過此程式碼轉換之後輸出結果正常
socket_connect() failed. Reason: 由於目標電腦積極拒絕,無法連線。
更多相關知識,請造訪PHP中文網!
以上是怎麼解決php socket亂碼問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章
<🎜>:種植花園 - 完整的突變指南
4 週前ByDDD
<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
4 週前By尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
1 個月前By尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
4 週前By尊渡假赌尊渡假赌尊渡假赌
<🎜>掩蓋:探險33-如何獲得完美的色度催化劑
2 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

WebStorm Mac版
好用的JavaScript開發工具

Dreamweaver CS6
視覺化網頁開發工具

記事本++7.3.1
好用且免費的程式碼編輯器

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。