怎么解決php socket亂碼問題

發(fā)布時(shí)間:2024-03-13
php socket亂碼的解決辦法:首先通過(guò)“mb_detect_encoding(socket_last_error($socket))”方法對(duì)錯(cuò)誤信息的編碼進(jìn)行檢查;然后將錯(cuò)誤信息轉(zhuǎn)為“utf-8”編碼即可。
php編寫socket錯(cuò)誤信息亂碼問題
問題
由于php項(xiàng)目默認(rèn)都是使用的utf-8編碼,由于使用socket編程時(shí)的報(bào)錯(cuò)信息不是使用的utf-8編碼,導(dǎo)致輸出的錯(cuò)誤在瀏覽器和控制臺(tái)上顯示的都是亂碼。
錯(cuò)誤提示如下:
socket_connect(): unable to connect [10061]: ?處理過(guò)程
1.首先,通過(guò)以下代碼對(duì)錯(cuò)誤信息的編碼進(jìn)行檢查
mb_detect_encoding(socket_last_error($socket))結(jié)果輸出為ascii。
2.通過(guò)第一步的檢查結(jié)果可知錯(cuò)誤信息的編碼不是utf-8,所以需要將錯(cuò)誤信息轉(zhuǎn)為utf-8編碼??赏ㄟ^(guò)以下函數(shù)實(shí)現(xiàn):
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; }通過(guò)該代碼轉(zhuǎn)換之后輸出結(jié)果正常
socket_connect() failed. reason: 由于目標(biāo)計(jì)算機(jī)積極拒絕,無(wú)法連接。
更多相關(guān)知識(shí),請(qǐng)?jiān)L問php中文網(wǎng)!
上一個(gè):荷包牡丹如何種?
下一個(gè):瞬態(tài)抑制二極管的作用與原理

買洗衣機(jī)怎么選,買洗衣機(jī)時(shí)如何選擇
選購(gòu)普洱茶的這些原則
什么是法定資本金?
RTT012492FTH現(xiàn)貨庫(kù)存,最新價(jià)格
建立企業(yè)網(wǎng)站的好處 建一個(gè)企業(yè)網(wǎng)站一年費(fèi)用
清單計(jì)價(jià)中綜合單價(jià)費(fèi)用構(gòu)成是什么?
普洱茶的谷花茶是什么意思?
快壓怎么新建文件夾(如何使用快壓壓縮軟件)
BURKERT6011電磁閥工作原理及選型方法
二月蘭種植技術(shù)
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos