2016-06-23 3 views
2

PHP로 내 RSS 피드를 만들었지 만 악센트 부호가있는 문자를 사용할 때 유효성을 확인할 수 없습니다. 나는 그것을위한 해결책을 찾을 수 없다.PHP : RSS 피드가 악센트 부호가있는 문자로 확인되지 않습니다.

이 지금까지 내 RSS 피드입니다 :

<?xml version="1.0"?> 
     <rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"> 
     <channel> 
     <title>My site</title> 
     <link>http://www.example.com</link> 
     <description>The newest music</description> 
     <atom:link href="http://www.example.com/feed.php" rel="self"></atom:link> 
     <item> 
     <title><![CDATA[Beyoncé - Sorry]]></title> 
     <description>New Music</description> 
     <pubDate>Thu, 23 Jun 2016 09:07:10 +0000</pubDate> 
     <guid>http://www.example.com/beyonce/sorry</guid> 
     <enclosure url="mypicture.jpg" length="0" type="image/jpeg"></enclosure> 
     <link>http://www.example.com/beyonce/sorry</link> 
     </item> 
     </channel> 
    </rss> 

은 내가 CDATA 태그를 시도, 그리고 특수 문자를 고정하지만, 악센트 없습니다. 의견이 있으십니까?

나는 유효성 검사기로 https://validator.w3.org/feed/check.cgi을 사용했습니다. 오류 메시지 : " ''utf8 '코덱은 2474 위치의 바이트 0xe9를 디코딩 할 수 없습니다. 유효하지 않은 연속 바이트 (아마도 상위 비트 문자입니까?)"

그리고 파이어 폭스와 IE 브라우저를 체크인합니다. 악센트 부호가있는 문자로 항목을 표시하십시오. 전체 피드 내의 다른 항목은 잘 표시됩니다.

header('Content-type: text/xml; charset=utf-8'); 
+0

그것은 나를 위해 잘 확인합니다. 특정 검증 방법을 사용하고 있습니까? 오류가 무엇입니까? * 무엇이 작동하지 않는지 * 제공하지 마십시오. – apokryfos

+0

귀하의 질문에 답변하기 위해 게시물을 편집했습니다. –

+0

나는 작동하지 않는 것을 썼다. 위의 코드에서 작업 항목이 제거됩니다. –

답변

0

내가 대답 나 자신을 발견 :

헤더 정보입니다.

악센트 부호가있는 문자를 올바르게 가져 오려면 utf8_encode()를 사용해야합니다.

예 :

$title = Beyoncé; 
$title = utf8_encode($title); 

echo $title 
관련 문제