From 248e869fbea48054ceec537ae886f962771a0f28 Mon Sep 17 00:00:00 2001 From: MasahikoSada <55680718+MasahikoSada@users.noreply.github.com> Date: Sat, 28 Aug 2021 20:15:20 +0900 Subject: [PATCH 1/4] Update TXT.php To support encoded by Shift-JIS(Japanese) , GB2312 and GBK(Chinese) files --- lib/private/Preview/TXT.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/private/Preview/TXT.php b/lib/private/Preview/TXT.php index 0ae35fb3eec13..3b7a53881a3e4 100644 --- a/lib/private/Preview/TXT.php +++ b/lib/private/Preview/TXT.php @@ -64,6 +64,12 @@ public function getThumbnail(File $file, int $maxX, int $maxY): ?IImage { if (trim($content) === '') { return null; } + + $encoding = mb_detect_encoding($content . 'a', 'SJIS-win, GB2312, GBK, UTF-8, WINDOWS-1252, ISO-8859-15, ISO-8859-1, ASCII', true); + if ($encoding === '') { + $encoding = 'ISO-8859-1'; + } + $content = iconv($encoding, 'UTF-8', $content); $lines = preg_split("/\r\n|\n|\r/", $content); From 6e1ba141b9f6369731c4bfe73b6321d27d575bc1 Mon Sep 17 00:00:00 2001 From: MasahikoSada <55680718+MasahikoSada@users.noreply.github.com> Date: Sun, 29 Aug 2021 11:42:48 +0900 Subject: [PATCH 2/4] Update lib/private/Preview/TXT.php Thanks, I appreciate your suggestion. Co-authored-by: kesselb --- lib/private/Preview/TXT.php | 4 ---- 1 file changed, 4 deletions(-) diff --git a/lib/private/Preview/TXT.php b/lib/private/Preview/TXT.php index 3b7a53881a3e4..5ef517854db70 100644 --- a/lib/private/Preview/TXT.php +++ b/lib/private/Preview/TXT.php @@ -65,10 +65,6 @@ public function getThumbnail(File $file, int $maxX, int $maxY): ?IImage { return null; } - $encoding = mb_detect_encoding($content . 'a', 'SJIS-win, GB2312, GBK, UTF-8, WINDOWS-1252, ISO-8859-15, ISO-8859-1, ASCII', true); - if ($encoding === '') { - $encoding = 'ISO-8859-1'; - } $content = iconv($encoding, 'UTF-8', $content); $lines = preg_split("/\r\n|\n|\r/", $content); From 8e4f2fbc91b14cca481662a3f5edf6c9f2ccfde9 Mon Sep 17 00:00:00 2001 From: MasahikoSada <55680718+MasahikoSada@users.noreply.github.com> Date: Sun, 29 Aug 2021 11:47:00 +0900 Subject: [PATCH 3/4] Update lib/private/Preview/TXT.php Thanks, I appereate your suggestion :) Co-authored-by: kesselb --- lib/private/Preview/TXT.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/private/Preview/TXT.php b/lib/private/Preview/TXT.php index 5ef517854db70..9dca2ed511992 100644 --- a/lib/private/Preview/TXT.php +++ b/lib/private/Preview/TXT.php @@ -65,7 +65,7 @@ public function getThumbnail(File $file, int $maxX, int $maxY): ?IImage { return null; } - $content = iconv($encoding, 'UTF-8', $content); + $content = mb_convert_encoding($content, 'UTF-8'); $lines = preg_split("/\r\n|\n|\r/", $content); From 3ecfc6690a3ed9e453d3c5fe4d5da324009e6752 Mon Sep 17 00:00:00 2001 From: MasahikoSada <55680718+MasahikoSada@users.noreply.github.com> Date: Sun, 29 Aug 2021 11:51:27 +0900 Subject: [PATCH 4/4] Update TXT.php In my environment, mb_convert_encoding() doesn't work properly without 'auto' in from_encoding. --- lib/private/Preview/TXT.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/private/Preview/TXT.php b/lib/private/Preview/TXT.php index 9dca2ed511992..dbbc7480ef565 100644 --- a/lib/private/Preview/TXT.php +++ b/lib/private/Preview/TXT.php @@ -65,7 +65,7 @@ public function getThumbnail(File $file, int $maxX, int $maxY): ?IImage { return null; } - $content = mb_convert_encoding($content, 'UTF-8'); + $content = mb_convert_encoding($content, 'UTF-8', 'auto'); $lines = preg_split("/\r\n|\n|\r/", $content);