根据bin2hex我的PHP在内部使用UTF-8:
echo bin2hex("ö"); -> c3b6 (utf-8)
echo bin2hex(utf8_decode("ö")); -> f6 (ISO-8859)
Run Code Online (Sandbox Code Playgroud)
但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"
Run Code Online (Sandbox Code Playgroud)
UTF-8似乎显然是它正在使用的那个,但为什么它仍然显示ISO-8859-1?
这一点都不奇怪.您的第一次检查是报价之间的内容.我假设您使用UTF-8 保存了文件,这意味着您的字符串中有两个字节.这并不意味着内部编码是UTF-8,只是你在字符串中有这两个字节.
| 归档时间: |
|
| 查看次数: |
6395 次 |
| 最近记录: |