Невозможно отобразить французские символы в ленте RSS без ошибок кодирования - PullRequest
2 голосов
/ 13 июля 2011

Я пытаюсь отобразить содержимое ленты RSS с примерами данных следующим образом:

<?xml version="1.0" encoding="ISO-8859-1"?> 
<rss version="2.0"> 
<channel> 
  <title>NHL.com Nouvelles</title> 
  <link>http://www.nhl.com</link> 
  <description>Nouvelles</description> 
  <copyright>NHL Enterprises, L.P. (c) 2011 NHL. All Rights Reserved</copyright> 
  <language>fr-ca</language> 
  <lastBuildDate>Sun, 31 Jul 2011 21:14:47 EDT</lastBuildDate> 

  <item> 
    <title>L'attaquant Zach Parise signe un contrat d'une 
           saison avec les Devils
     </title> 
    <link><![CDATA[http://www.nhl.com/ice/news.htm?id=585498&cmpid=rss-Nouvelles]]>
     </link>    
    <description><![CDATA[ NEWARK, États-Unis - 
      L'attaquant Zach Parise a accepté un contrat d'une saison avec 
      les Devils du New Jersey.  Lors de l'annonce en fin d'après-midi vendredi, 
      le président et directeur-général des Devils Lou Lamoriello 
      a ajouté que les deux parti...]]>
     </description>
    <pubDate>Fri, 29 Jul 2011 19:04:04 EDT</pubDate> 
    <guid><![CDATA[http://www.nhl.com/ice/news.htm?id=585498]]></guid>
  </item>       

  <!-- other item nodes -->

  </channel> 
</rss>

Канал закодирован как ISO-8859-1 .Я пробовал два сценария, чтобы отобразить канал на моем сайте, и он не выглядит правильным.Я заметил, что даже при просмотре XML-файла в моем браузере символы не отображаются должным образом.

Я использовал два разных решения JavaScript для отображения канала на моем сайте, и ни один из них не отображал символы должным образом.

Кто-нибудь знает заранее созданный скрипт RSS to HTML на любом языке, который будет правильно кодировать входящий XML-файл?

Если нет, какие-либо предложения о том, как я могу правильно закодировать его?

1 Ответ

3 голосов
/ 01 августа 2011

Я сталкивался с подобной проблемой раньше.

Вам нужно будет изменить charset в своем HTML.

Это сработало для меня.

<meta charset="ISO-8859">

РЕДАКТИРОВАТЬ

Только что заметил это тоже ... Ваш контент description искажен.Вам нужно будет повторно ввести его в текстовом редакторе или в любом другом коде.Похоже, эта программа / приложение искалечили его.Это может быть частью причины, по которой ничего не работает.

<description><![CDATA[ NEWARK, États-Unis - 
  L'attaquant Zach Parise a accepté un contrat d'une saison avec 
  les Devils du New Jersey.  Lors de l'annonce en fin d'après-midi vendredi, 
  le président et directeur-général des Devils Lou Lamoriello 
  a ajouté que les deux parti...]]>
 </description>

Кроме того, вам следует рассмотреть возможность изменения французских символов на значения ascii или hex, например

téléphonique

до

t&#233;l&#233;phonique

...