From cc188058e4ca132b48f568b22d37cef8ebc9413e Mon Sep 17 00:00:00 2001 From: Jean-Philippe Orsini Date: Tue, 17 Oct 2017 12:03:56 +0200 Subject: [PATCH] fixed encoding bug --- war/run.sh | 2 ++ war/src/main/java/pnews/servlet/ArticleProvider.java | 14 ++++++++------ war/src/main/java/pnews/servlet/Pnews.java | 5 +++-- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/war/run.sh b/war/run.sh index 02c44ba..65e7a29 100755 --- a/war/run.sh +++ b/war/run.sh @@ -9,6 +9,8 @@ else SHARED_DIR="$1" fi +mvn clean install + echo "SHARED_DIR=$SHARED_DIR" SHARED_DIR=`realpath $SHARED_DIR` diff --git a/war/src/main/java/pnews/servlet/ArticleProvider.java b/war/src/main/java/pnews/servlet/ArticleProvider.java index 5e7d429..e578d2a 100644 --- a/war/src/main/java/pnews/servlet/ArticleProvider.java +++ b/war/src/main/java/pnews/servlet/ArticleProvider.java @@ -43,7 +43,6 @@ public class ArticleProvider { XmlReader r; r = new XmlReader(new URL(u)); - XmlReader.setDefaultEncoding("UTF-8"); return new SyndFeedInput().build(r); } @@ -121,12 +120,13 @@ public class ArticleProvider { } private static Article toArticle(String link, SyndEntry entry, SyndFeed feed) { - String desc, title, thumbnail, feedTitle; + String desc, title, thumbnail, feedTitle, str; Date date; feedTitle = feed.getTitle(); - if (feedTitle != null) + if (feedTitle != null) { feedTitle = feedTitle.trim(); + } thumbnail = null; for (SyndEnclosure e: entry.getEnclosures()) { @@ -137,11 +137,13 @@ public class ArticleProvider { if (thumbnail == null && feed.getImage() != null) thumbnail = feed.getImage().getUrl(); - + + title = entry.getTitle().trim(); - if (entry.getDescription() != null) { - desc = Jsoup.parse(entry.getDescription().getValue()).text(); + if (entry.getDescription() != null) { + str = entry.getDescription().getValue(); + desc = Jsoup.parse(str).text(); } else { desc = null; LOG.severe("No description for " + feedTitle + " - " + title); diff --git a/war/src/main/java/pnews/servlet/Pnews.java b/war/src/main/java/pnews/servlet/Pnews.java index 8a98571..db93bb3 100644 --- a/war/src/main/java/pnews/servlet/Pnews.java +++ b/war/src/main/java/pnews/servlet/Pnews.java @@ -9,6 +9,7 @@ import java.io.Writer; import java.net.URLDecoder; import java.util.ArrayList; import java.util.List; +import java.util.Locale; import java.util.logging.Level; import java.util.logging.Logger; @@ -87,9 +88,9 @@ public class Pnews extends HttpServlet { articles = provider.getArticles(cat); if (articles != null) { html = HTML.toHTML(articles, cat); - rp.setContentType("text/html"); + rp.setContentType("text/html;charset=utf-8"); rp.getWriter().write(html); - rp.setCharacterEncoding("UTF-8"); + rp.setCharacterEncoding("utf8-8"); } else { LOG.severe("writeArticles cannot retrieve any articles"); html = HTML.toHTML(new ArrayList
(), cat); -- 2.7.4