我正在尝试检测字符串的字符编码,但是我无法得到正确的结果。
例如:
$str = "€ ‚ ƒ „ …" ;
$str = mb_convert_encoding($str, 'Windows-1252' ,'HTML-ENTITIES') ;
// Now $str should be a Windows-1252-encoded string.
// Let's detect its encoding:
echo mb_detect_encoding($str,'Windows-1252, ISO-8859-1, UTF-8') ;
那段代码输出的是 ISO-8859-1,但应该是 Windows-1252。这有什么问题吗?
编辑:根据 @raina77ow 的回复更新了示例。
$str = "€‚ƒ„…" ; // no white-spaces
$str = mb_convert_encoding($str, 'Windows-1252' ,'HTML-ENTITIES') ;
$str = "Hello $str" ; // let's add some ascii characters
echo mb_detect_encoding($str,'Windows-1252, ISO-8859-1, UTF-8') ;
我又得到了错误的结果。
ISO-8859-1
。 - GetFree