J'essaye de créer un flux RSS en utilisant Grails et Rome.Définition de l'encodage dans la méthode de rendu du contrôleur Grails
Dans l'action rss de mon contrôleur, ma dernière commande est:
render(text: getFeed("rss_2.0"), contentType:"application/rss+xml", encoding:"ISO-8859-1 ")
Cependant, lorsque je navigue à l'URL de mon alimentation, l'en-tête est:
<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
...
Mon code pour getFeed() est quelque chose comme:
def getFeed(feedType) {
def currentFeedURL = params.url
def items = parserService.parse(new URL(currentFeedURL))
def feedLink = "http://blablabla"
def feedEntries = []
items.each { item ->
def entryTitle
if (item.price != null)
entryTitle = item.description + " - " + item.price + " euros"
else
entryTitle = item.description
def itemContent = new SyndContentImpl(type:'text/plain', value: getBody(item))
SyndEntryImpl entry = new SyndEntryImpl(title: entryTitle,
link: item.link,
publishedDate: item.date,
description: itemContent)
feedEntries.add(entry)
}
def feed = new SyndFeedImpl(feedType: feedType,
encoding : "ISO-8859-1",
title: 'Some title',
link: 'http://acme.com',
description: 'Feed description',
entries: feedEntries)
StringWriter writer = new StringWriter()
SyndFeedOutput output = new SyndFeedOutput()
output.output(feed,writer)
writer.close()
return writer.toString()
}
et mon getBody (article) est un élément d'analyse syntaxique juste et la sortie du code HTML formaté texte.
Est-ce que quelqu'un a une idée sur pourquoi l'encodage est UTF-8 quand je l'ai mis à ISO-8859-1 dans la méthode de rendu ???
Merci pour votre aide!