Improved header encoding fixing

pull/199/head
M66B 4 years ago
parent 4d82a6c751
commit b52c3171c4

@ -1207,13 +1207,17 @@ public class MessageHelper {
if (header.trim().startsWith("=?"))
return header;
if (CharsetHelper.isUTF8(header)) {
Log.i("Converting " + name + " to UTF-8");
return new String(header.getBytes(StandardCharsets.ISO_8859_1), StandardCharsets.UTF_8);
} else {
Log.i("Converting " + name + " to ISO8859-1");
return new String(header.getBytes(StandardCharsets.ISO_8859_1), StandardCharsets.ISO_8859_1);
}
Charset detected = CharsetHelper.detect(header);
if (detected == null && CharsetHelper.isUTF8(header))
detected = StandardCharsets.UTF_8;
if (detected == null ||
CHARSET16.contains(detected) ||
StandardCharsets.US_ASCII.equals(detected) ||
StandardCharsets.ISO_8859_1.equals(detected))
return header;
Log.i("Converting " + name + " to " + detected);
return new String(header.getBytes(StandardCharsets.ISO_8859_1), detected);
}
private Address[] getAddressHeader(String name) throws MessagingException {

Loading…
Cancel
Save