diff --git a/commons/src/main/java/org/archive/io/GenericReplayCharSequence.java b/commons/src/main/java/org/archive/io/GenericReplayCharSequence.java index b1fc88fd..11a4c380 100644 --- a/commons/src/main/java/org/archive/io/GenericReplayCharSequence.java +++ b/commons/src/main/java/org/archive/io/GenericReplayCharSequence.java @@ -154,7 +154,7 @@ public class GenericReplayCharSequence implements ReplayCharSequence { } catch (IllegalArgumentException e) { logger.log(Level.WARNING,"charset problem: "+charsetName,e); // TODO: better detection or default - charset = Charset.forName("UTF-8"); + charset = Charset.forName(FALLBACK_CHARSET_NAME); } if (charset.newEncoder().maxBytesPerChar() == 1.0) { logger.info("charset=" + charsetName diff --git a/commons/src/main/java/org/archive/io/InMemoryReplayCharSequence.java b/commons/src/main/java/org/archive/io/InMemoryReplayCharSequence.java index 620100b6..3c6cb233 100644 --- a/commons/src/main/java/org/archive/io/InMemoryReplayCharSequence.java +++ b/commons/src/main/java/org/archive/io/InMemoryReplayCharSequence.java @@ -91,7 +91,7 @@ public class InMemoryReplayCharSequence implements ReplayCharSequence { } catch (IllegalArgumentException e) { logger.log(Level.WARNING,"charset problem: "+encoding,e); // TODO: better detection or default - charset = Charset.forName("UTF-8"); + charset = Charset.forName(FALLBACK_CHARSET_NAME); } return charset.decode(bb).asReadOnlyBuffer(); } diff --git a/commons/src/main/java/org/archive/io/ReplayCharSequence.java b/commons/src/main/java/org/archive/io/ReplayCharSequence.java index 38d975eb..162b4734 100644 --- a/commons/src/main/java/org/archive/io/ReplayCharSequence.java +++ b/commons/src/main/java/org/archive/io/ReplayCharSequence.java @@ -37,6 +37,11 @@ import java.io.IOException; */ public interface ReplayCharSequence extends CharSequence, Closeable { + /** charset to use in replay when declared value + * is absent/illegal/unavailable */ + String FALLBACK_CHARSET_NAME = "UTF-8"; +// String FALLBACK_CHARSET_NAME = "ISO8859_1"; + /** * Call this method when done so implementation has chance to clean up * resources.