簡體   English   中英

mb_detect_encoding顯示相同的編碼

[英]mb_detect_encoding showing the same encoding

我有一個奇怪的問題,以下代碼:

$str = "נסיון" // <--- Hebrew chars
echo mb_detect_encoding ($str)."<br><br><br>";
$str = iconv (mb_detect_encoding($str),'UCS-2BE',$str);
echo mb_detect_encoding ($str)."<br><br><br>";

這將輸出:

UTF-8

UTF-8

這段代碼是用UTF-8編碼的文件(使用Notepad ++)編寫的,沒有BOM,嘗試使用其他編碼也無法正常工作。

我也嘗試使用以下命令轉換字符串:

$str = mb_convert_encoding($str,'UCS-2BE');

但這也不起作用。 有什么見解嗎?

mb_detect_order文檔中 ,該函數確定mb_detect_encoding測試不同編碼的順序:

mbstring當前實現以下編碼檢測過濾器。 如果以下編碼的字節序列無效,則編碼檢測將失敗。 UTF-8,UTF-7,ASCII,EUC-JP,SJIS,eucJP-win,SJIS-win,JIS,ISO-2022-JP

對於ISO-8859-*,mbstring始終檢測為ISO-8859- *。

對於UTF-16,UTF-32,UCS2和UCS4,編碼檢測將始終失敗。

因此,您無法使用mb函數檢測第二個字符串的編碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM