mirror of
https://github.com/M66B/FairEmail.git
synced 2026-04-01 06:38:29 +02:00
Workaround Javamail encoding bug
This commit is contained in:
@@ -815,13 +815,23 @@ public class MessageHelper {
|
||||
try {
|
||||
ContentType ct = new ContentType(part.getContentType());
|
||||
String charset = ct.getParameter("charset");
|
||||
String encoding = null;
|
||||
try {
|
||||
String[] enc = part.getHeader("Content-Transfer-Encoding");
|
||||
if (enc != null && enc.length > 0)
|
||||
encoding = enc[0];
|
||||
} catch (MessagingException ex) {
|
||||
Log.w(ex);
|
||||
}
|
||||
if (TextUtils.isEmpty(charset)) {
|
||||
if (BuildConfig.DEBUG)
|
||||
warnings.add(context.getString(R.string.title_no_charset, ct));
|
||||
// The first 127 characters are the same as in US-ASCII
|
||||
result = new String(result.getBytes(StandardCharsets.ISO_8859_1));
|
||||
} else {
|
||||
if ("US-ASCII".equals(charset.toUpperCase()) || "ISO-8859-1".equals(charset.toUpperCase()))
|
||||
if ("US-ASCII".equals(charset.toUpperCase()) ||
|
||||
(encoding != null && "8bit".equals(encoding.toLowerCase()) &&
|
||||
"ISO-8859-1".equals(charset.toUpperCase())))
|
||||
result = new String(result.getBytes(StandardCharsets.ISO_8859_1));
|
||||
else {
|
||||
if ("US-ASCII".equals(Charset.forName(charset).name()))
|
||||
|
||||
Reference in New Issue
Block a user