我已閱讀維基百科有關Windows-1252字符編碼的文章。對於字節值爲< 128的字符,它應該與ASCII/UTF-8相同。mb_detect_encoding與Windows-1252意外的結果
這是有道理的:
php -r "var_export(mb_detect_encoding(\"\x92\", 'windows-1252', true));" 'Windows-1252'
一個左花撇號被正確地檢測。
php -r "var_export(mb_detect_encoding(\"a\", 'windows-1252', true));" false
咦?字母「a」不是Windows-1252?
我的終端在這裏運行,它被設置爲UTF-8,所以它應該與字母'a'的字符序列相同,爲了最小化變量,如果我指定了正確的Windows-1252字節序列:
php -r "var_export(mb_detect_encoding(\"\x61\", 'windows-1252', true));" false
改變「嚴」參數(其中有相當無用文件)不執行任何操作在這種情況下不支持windows-1252
呵呵,就像一個*白癡*我曾預計信息將在'mb_detect_encoding'文檔中! – Hut8