From 3dda716b68b7422851fb3d7f40ca3a231ad92381 Mon Sep 17 00:00:00 2001 From: Jeremy Lecour Date: Mon, 4 Jan 2021 23:06:28 +0100 Subject: [PATCH] =?UTF-8?q?EmailImporter:=20UTF-8=20forc=C3=A9=20pour=20ne?= =?UTF-8?q?ttoyage=20des=20caract=C3=A8res=20invalides?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/services/email_importer.rb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/services/email_importer.rb b/app/services/email_importer.rb index e32c632..12364c1 100644 --- a/app/services/email_importer.rb +++ b/app/services/email_importer.rb @@ -47,7 +47,13 @@ class EmailImporter mail.parts[0].decoded end elsif mail.content_type && mail.content_type.match?(/\btext\/html\b/) - html_to_text_class.new.convert(mail.decoded) + plain_text = html_to_text_class.new.convert(mail.decoded) + if mail.content_type.match?(/\butf-8\b/) + # force utf-8 charset, even if we have to remve invalid characters + plain_text.encode!('UTF-8', 'binary', invalid: :replace, undef: :replace, replace: '') + else + plain_text + end else mail.decoded end