Atom验证时报错"not well-formed"
我在SegmentFault的rss订阅支持里使用了atom标准,我仔细阅读过这一标准,而且以前也开发过很多atom订阅的程序,所以看起来似乎没什么困难,而且开发出来在阅读器(google reader, etc.)里面也表现良好。但是当我使用w3c的feed验证时它给我报了这样一个错误(验证地址: http://validator.w3.org/feed/check.cg... )
这是一个很令人困惑的错误,因为通常
not well-formed
错误可能会发生在一些特殊字符没有
escape
的时候,但是我已经在输出之前对内容做了以下处理
function escape($string) { return str_replace(array('&','"',"'",'<','>'), array('&','"',''','<','>'), $string); }
所以输出的内容是不会有特殊字符的问题。我尝试把内容放在
<!CDATA[]]>
里面括起来,但是都无效。
更令人奇怪的是,似乎这个错误只是出现在这篇文章中(也就是只针对特定的字符),在不包涵这篇文章的feed中验证就会通过,比如: http://validator.w3.org/feed/check.cg... 。
我自己怀疑是atom标准对UTF-8的编码支持有问题,或者我还有什么地方没有设置好,不知道有没有好的解决办法。
Dimmi.
10 years, 5 months ago