summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorthomascube <thomas@roundcube.net>2007-09-09 18:04:54 +0000
committerthomascube <thomas@roundcube.net>2007-09-09 18:04:54 +0000
commit74ae8849ddffd90172a5f62cbc32469463473eb8 (patch)
tree71a0290e42a2d406a4070b505ac5c2281e0dbffa
parent03b27176ef522cdf1cfbe44d426592ab86932781 (diff)
Fixed charset encoding bug (#1484429)
-rw-r--r--CHANGELOG1
-rw-r--r--program/include/main.inc7
2 files changed, 2 insertions, 6 deletions
diff --git a/CHANGELOG b/CHANGELOG
index eccf2562d..2ebe78bd1 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -3,6 +3,7 @@ CHANGELOG RoundCube Webmail
2007/09/09 (thomasb)
----------
+- Fixed charset encoding bug (#1484429)
- Applied patch for LDAP version (#1484552)
- Improved XHTML validation
diff --git a/program/include/main.inc b/program/include/main.inc
index 0d062039d..854458a64 100644
--- a/program/include/main.inc
+++ b/program/include/main.inc
@@ -1123,10 +1123,6 @@ function rep_specialchars_output($str, $enctype='', $mode='', $newlines=TRUE)
if (!$enctype)
$enctype = $GLOBALS['OUTPUT_TYPE'];
- // convert nbsps back to normal spaces if not html
- if ($enctype!='html')
- $str = str_replace(chr(160), ' ', $str);
-
// encode for plaintext
if ($enctype=='text')
return str_replace("\r\n", "\n", $mode=='remove' ? strip_tags($str) : $str);
@@ -1171,11 +1167,10 @@ function rep_specialchars_output($str, $enctype='', $mode='', $newlines=TRUE)
for ($c=160; $c<256; $c++) // can be increased to support more charsets
{
- $hex = dechex($c);
$xml_rep_table[Chr($c)] = "&#$c;";
if ($OUTPUT->get_charset()=='ISO-8859-1')
- $js_rep_table[Chr($c)] = sprintf("\u%s%s", str_repeat('0', 4-strlen($hex)), $hex);
+ $js_rep_table[Chr($c)] = sprintf("\\u%04x", $c);
}
$xml_rep_table['"'] = '&quot;';