diff --git a/src/app/convert/controllers/ConvertPdfController.php b/src/app/convert/controllers/ConvertPdfController.php
index 7eab74f75b91cc5f8669904254fead59636536b1..35d64d130592e51176108b0d363369707e8d18ee 100755
--- a/src/app/convert/controllers/ConvertPdfController.php
+++ b/src/app/convert/controllers/ConvertPdfController.php
@@ -37,9 +37,8 @@ class ConvertPdfController
 
         $tmpPath = CoreConfigModel::getTmpPath();
 
-
+        self::addBom($aArgs['fullFilename']);
         $command = "unoconv -f pdf " . escapeshellarg($aArgs['fullFilename']);
-        
 
         exec('export HOME=' . $tmpPath . ' && '.$command.' 2>&1', $output, $return);
 
@@ -94,6 +93,7 @@ class ConvertPdfController
         copy($pathToDocument, $tmpPath.$fileNameOnTmp.'.'.$docInfo["extension"]);
 
         if (strtolower($docInfo["extension"]) != 'pdf') {
+            self::addBom($tmpPath.$fileNameOnTmp.'.'.$docInfo["extension"]);
             $command = "unoconv -f pdf " . escapeshellarg($tmpPath.$fileNameOnTmp.'.'.$docInfo["extension"]);
             exec('export HOME=' . $tmpPath . ' && '.$command, $output, $return);
 
@@ -148,6 +148,7 @@ class ConvertPdfController
 
         file_put_contents($tmpPath . $tmpFilename, base64_decode($aArgs['encodedResource']));
 
+        self::addBom($tmpPath.$tmpFilename);
         $command = "unoconv -f pdf {$tmpPath}{$tmpFilename}";
         exec('export HOME=' . $tmpPath . ' && '.$command, $output, $return);
 
@@ -204,4 +205,13 @@ class ConvertPdfController
 
         return $canConvert;
     }
+
+    public static function addBom($filePath) {
+        $extension = pathinfo($filePath, PATHINFO_EXTENSION);
+        if (strtolower($extension) == strtolower('txt')) {
+            $content = file_get_contents($filePath);
+            $bom = chr(239) . chr(187) . chr(191); # use BOM to be on safe side
+            file_put_contents($filePath, $bom.$content);
+        }
+    }
 }