В соответствии с bin2hex мой PHP внутренне использует UTF-8:
echo bin2hex("ö"); -> c3b6 (utf-8)
echo bin2hex(utf8_decode("ö")); -> f6 (ISO-8859)
Но и mb_internal_encoding() и iconv_get_encoding() говорят, что это ISO-8859-1.
echo mb_internal_encoding(); -> ISO-8859-1
var_dump(iconv_get_encoding()); -> ["input_encoding"]=> string(10) "ISO-8859-1" ["output_encoding"]=> string(10) "ISO-8859-1" ["internal_encoding"]=> string(10) "ISO-8859-1"
UTF-8, похоже, по-видимому, тот, который он использует, но почему он покажет ISO-8859-1?