diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/csv/TextAndCSVParser.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/csv/TextAndCSVParser.java index 462167d149..b5981369f0 100644 --- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/csv/TextAndCSVParser.java +++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/csv/TextAndCSVParser.java @@ -294,6 +294,13 @@ private Reader detect(CSVParams params, InputStream stream, Metadata metadata, getEncodingDetector(context)); } } + String charsetString = metadata.get(Metadata.CONTENT_ENCODING); + if (charsetString != null && params.getCharset() == null) { + try { + params.setCharset(Charset.forName(charsetString)); + } catch (Exception ignored) { + } + } Reader reader = null; if (params.getCharset() == null) { reader = new AutoDetectReader(CloseShieldInputStream.wrap(stream), metadata,