diff --git a/bootstrap.php b/bootstrap.php
index d050960ed4ffdeb0443e5878029d3539e625901f..cc9437d7cf9be3760aae4ba411316216cc4a8adc 100644
--- a/bootstrap.php
+++ b/bootstrap.php
@@ -187,6 +187,33 @@ class Bootstrap {
             require(INCLUDE_DIR.'mysql.php');
     }
 
+    function i18n_prep() {
+        // MPDF requires mbstring functions
+        if (!extension_loaded('mbstring')) {
+            if (function_exists('iconv')) {
+                function mb_strpos($a, $b) { return iconv_strpos($a, $b); }
+                function mb_strlen($str) { return iconv_strlen($str); }
+                function mb_substr($a, $b, $c=null) {
+                    return iconv_substr($a, $b, $c); }
+                function mb_convert_encoding($str, $to, $from='utf-8') {
+                    return iconv($from, $to, $str); }
+            }
+            else {
+                function mb_strpos($a, $b) { return strpos($a, $b); }
+                function mb_strlen($str) { return strlen($str); }
+                function mb_substr($a, $b, $c=null) { return substr($a, $b, $c); }
+                function mb_convert_encoding($str, $to, $from='utf-8') {
+                    return iconv($from, $to, $str); }
+            }
+            function mb_strtoupper($a) { return strtoupper($a); }
+            function mb_strtolower($a) { return strtolower($a); }
+        }
+        else {
+            // Use UTF-8 for all multi-byte string encoding
+            mb_internal_encoding('utf-8');
+        }
+    }
+
     function croak($message) {
         $msg = $message."\n\n".THISPAGE;
         Mailer::sendmail(ADMIN_EMAIL, 'osTicket Fatal Error', $msg,
diff --git a/main.inc.php b/main.inc.php
index e62d6e5e43bec6fed2bdee435005c9eae94c6d44..924f728886779c0cd668d07376cee0f745596a6b 100644
--- a/main.inc.php
+++ b/main.inc.php
@@ -24,6 +24,7 @@ require('bootstrap.php');
 Bootstrap::loadConfig();
 Bootstrap::defineTables(TABLE_PREFIX);
 Bootstrap::loadCode();
+Bootstrap::i18n_prep();
 Bootstrap::connect();
 
 if(!($ost=osTicket::start()) || !($cfg = $ost->getConfig()))