I have problem with detecting CP1250 in mb_detect_encoding(), in my case I want detect 3 encodings:
mb_detect_encoding($string, 'UTF-8,ISO-8859-2,Windows-1250')
But Windows isn't in supported encodings, any solution?
mb_detect_encoding
always "detects" single-byte encodings. You can read about this in the documentation for mb_detect_order
:
mbstring currently implements the following encoding detection filters. If there is an invalid byte sequence for the following encodings, encoding detection will fail.
UTF-8, UTF-7, ASCII, EUC-JP,SJIS, eucJP-win, SJIS-win, JIS, ISO-2022-JP
For ISO-8859-X, mbstring always detects as ISO-8859-X.
For UTF-16, UTF-32, UCS2 and UCS4, encoding detection will fail always.
Conclusions:
In general, it is impossible to detect single-byte encodings with accuracy. If you find yourself needing to do that in PHP you will need to do it manually; don't expect very good results.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With