You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nutch.apache.org by ma...@apache.org on 2011/06/28 18:03:29 UTC

svn commit: r1140696 - in /nutch/trunk: CHANGES.txt src/java/org/apache/nutch/util/EncodingDetector.java

Author: markus
Date: Tue Jun 28 16:03:28 2011
New Revision: 1140696

URL: http://svn.apache.org/viewvc?rev=1140696&view=rev
Log:
NUTCH-1012 Cannot handle illegal charset

Modified:
    nutch/trunk/CHANGES.txt
    nutch/trunk/src/java/org/apache/nutch/util/EncodingDetector.java

Modified: nutch/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/nutch/trunk/CHANGES.txt?rev=1140696&r1=1140695&r2=1140696&view=diff
==============================================================================
--- nutch/trunk/CHANGES.txt (original)
+++ nutch/trunk/CHANGES.txt Tue Jun 28 16:03:28 2011
@@ -2,6 +2,8 @@ Nutch Change Log
 
 Release 2.0 - Current Development
 
+* NUTCH-1012 Cannot handle illegal charset $charset (markus)
+
 * NUTCH-295 Description for fetcher.threads.fetch property (kubes via markus)
 
 * NUTCH-1006 MetaEquiv with single quotes not accepted (markus)

Modified: nutch/trunk/src/java/org/apache/nutch/util/EncodingDetector.java
URL: http://svn.apache.org/viewvc/nutch/trunk/src/java/org/apache/nutch/util/EncodingDetector.java?rev=1140696&r1=1140695&r2=1140696&view=diff
==============================================================================
--- nutch/trunk/src/java/org/apache/nutch/util/EncodingDetector.java (original)
+++ nutch/trunk/src/java/org/apache/nutch/util/EncodingDetector.java Tue Jun 28 16:03:28 2011
@@ -328,11 +328,16 @@ public class EncodingDetector {
   }
 
   public static String resolveEncodingAlias(String encoding) {
-    if (encoding == null || !Charset.isSupported(encoding))
+    try {
+      if (encoding == null || !Charset.isSupported(encoding))
+        return null;
+      String canonicalName = new String(Charset.forName(encoding).name());
+      return ALIASES.containsKey(canonicalName) ? ALIASES.get(canonicalName)
+                                                : canonicalName;
+    } catch (Exception e) {
+      LOG.warn("Invalid encoding " + encoding + " detected, using default.");
       return null;
-    String canonicalName = new String(Charset.forName(encoding).name());
-    return ALIASES.containsKey(canonicalName) ? ALIASES.get(canonicalName)
-                                              : canonicalName;
+    }
   }
 
   /**