summaryrefslogtreecommitdiff
path: root/program/include/rcube_charset.php
diff options
context:
space:
mode:
authorThomas Bruederli <thomas@roundcube.net>2012-09-05 16:17:56 +0200
committerThomas Bruederli <thomas@roundcube.net>2012-09-05 16:17:56 +0200
commitba3cd80c0c61e679cef92a1f4f51e645090a1472 (patch)
tree4bd7c352dade0d18c19f25d65b04a5b896813918 /program/include/rcube_charset.php
parent957ac142e3c80db3b86df4f0db3b82cfa8856206 (diff)
parente263994adc3f8f331c6167da1665c1920a5142f9 (diff)
Merge branch 'master' of github.com:roundcube/roundcubemail
Diffstat (limited to 'program/include/rcube_charset.php')
-rw-r--r--program/include/rcube_charset.php6
1 files changed, 6 insertions, 0 deletions
diff --git a/program/include/rcube_charset.php b/program/include/rcube_charset.php
index 380d14978..1740a6096 100644
--- a/program/include/rcube_charset.php
+++ b/program/include/rcube_charset.php
@@ -181,6 +181,12 @@ class rcube_charset
$to = empty($to) ? strtoupper(RCMAIL_CHARSET) : self::parse_charset($to);
$from = self::parse_charset($from);
+ // It is a common case when UTF-16 charset is used with US-ASCII content (#1488654)
+ // In that case we can just skip the conversion (use UTF-8)
+ if ($from == 'UTF-16' && !preg_match('/[^\x00-\x7F]/', $str)) {
+ $from = 'UTF-8';
+ }
+
if ($from == $to || empty($str) || empty($from)) {
return $str;
}