我一直在使用iconv时遇到问题。现在我必须将字符串转换为Windows-1250,但似乎无法正常工作:
$string = "ľaľa ho papľuha, ogrcal mi krpce!";
echo $string . ' ( ' . mb_detect_encoding($string) . ' ) <br>';
$string_encoded = iconv( mb_detect_encoding( $string ), 'Windows-1250//TRANSLIT', $string );
echo $string_encoded . ' ( ' . mb_detect_encoding($string_encoded) . ' ) <br>';
$string_encoded = mb_convert_encoding( $string, 'Windows-1250' );
echo $string_encoded . ' ( ' . mb_detect_encoding($string_encoded) . ' ) <br>';
上面的三个echo输出的内容正是这样:
ľaľa ho papľuha, ogrcal mi krpce! ( UTF-8 )
�a�a ho pap�uha, ogrcal mi krpce! ( )
mb_convert_encoding() Unknown encoding "Windows-1250" ( ASCII )
我一直看到这些菱形问号,很怀疑这个PHP函数是否起作用。如何将UTF-8转换为Windows-1250?
- 文件是在Notepad+中以UTF-8格式保存的。
- 我还尝试过
header('Content-Type: text/html; charset=windows-1250');
和setLocale()