2011-04-12 52 views
3

当我阅读的RSS提要http://beersandbeans.com/feed/字符编码UTF8发行使用mb_detect_encoding()与PHP

饲料说,这是UTF8格式,我使用了SimplePie RSS当我抢的内容和店导入内容它$content我执行以下操作:

<?php 
header ('Content-type: text/html; charset=utf-8'); 
?> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
</head><body> 
<?php 
echo $content; 
echo $enc = mb_detect_encoding($content, "UTF-8,ISO-8859-1", true); 
echo $content = mb_convert_encoding($content, "UTF-8", $enc); 
echo $enc = mb_detect_encoding($content, "UTF-8,ISO-8859-1", true); 
?> 
</body></html> 

这就产生:

..... Camping:  2,000isk/day for 5 days) = $89 ..... 
ISO-8859-1 
..... Camping: Â Â   2,000isk/day for 5 days) = $89 ..... 
UTF-8 

为什么Ø输出?

回答

3

尽量不要指定 “UTF-8,ISO-8859-1”,看看是什么编码它给您。它可能检测到ISO-8859-1,因为它是该列表中的最后一个,而不是字符串的实际编码。