diff options
| author | alec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2008-10-03 08:05:59 +0000 |
|---|---|---|
| committer | alec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2008-10-03 08:05:59 +0000 |
| commit | f52db33f5b6c2de8a5ddf58287db09c90fdddc06 (patch) | |
| tree | 0dd782c5aa9eb0a7a4f64d9238928685f5eb1025 /roundcubemail | |
| parent | 2ea46b7e30e08facaa8b9fde9b05862fb7719130 (diff) | |
- Add support for SJIS, GB2312, BIG5 in rc_detect_encoding()
- Fix vCard file encoding detection for non-UTF-8 strings (#1485410)
git-svn-id: https://svn.roundcube.net/trunk@1927 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail')
| -rw-r--r-- | roundcubemail/CHANGELOG | 4 | ||||
| -rw-r--r-- | roundcubemail/program/include/rcube_shared.inc | 14 | ||||
| -rw-r--r-- | roundcubemail/program/include/rcube_vcard.php | 3 |
3 files changed, 15 insertions, 6 deletions
diff --git a/roundcubemail/CHANGELOG b/roundcubemail/CHANGELOG index 6144845bd..085139dc5 100644 --- a/roundcubemail/CHANGELOG +++ b/roundcubemail/CHANGELOG @@ -1,6 +1,10 @@ CHANGELOG RoundCube Webmail --------------------------- +2008/10/03 (alec) +- Add support for SJIS, GB2312, BIG5 in rc_detect_encoding() +- Fix vCard file encoding detection for non-UTF-8 strings (#1485410) + 2008/10/02 (alec) ---------- - Minimize "inline" javascript scripts use (#1485433) diff --git a/roundcubemail/program/include/rcube_shared.inc b/roundcubemail/program/include/rcube_shared.inc index a9ade36db..7c379a97e 100644 --- a/roundcubemail/program/include/rcube_shared.inc +++ b/roundcubemail/program/include/rcube_shared.inc @@ -249,17 +249,17 @@ function show_bytes($bytes) if ($bytes > 1073741824) { $gb = $bytes/1073741824; - $str = sprintf($gb>=10 ? "%d " : "%.1f ", $gb) . rcube_label('GB'); + $str = sprintf($gb>=10 ? "%d GB" : "%.1f GB", $gb); } else if ($bytes > 1048576) { $mb = $bytes/1048576; - $str = sprintf($mb>=10 ? "%d " : "%.1f ", $mb) . rcube_label('MB'); + $str = sprintf($mb>=10 ? "%d MB" : "%.1f MB", $mb); } else if ($bytes > 1024) - $str = sprintf("%d ", round($bytes/1024)) . rcube_label('KB'); + $str = sprintf("%d KB", round($bytes/1024)); else - $str = sprintf('%d ', $bytes) . rcube_label('B'); + $str = sprintf('%d B', $bytes); return $str; } @@ -548,10 +548,12 @@ function rc_detect_encoding($string, $failover='') // FIXME: the order is important, because sometimes // iso string is detected as euc-jp and etc. $enc = array( - 'UTF-8', 'ISO-8859-1', 'ISO-8859-2', 'ISO-8859-3', 'ISO-8859-4', + 'SJIS', 'BIG5', 'GB2312', 'UTF-8', + 'ISO-8859-1', 'ISO-8859-2', 'ISO-8859-3', 'ISO-8859-4', 'ISO-8859-5', 'ISO-8859-6', 'ISO-8859-7', 'ISO-8859-8', 'ISO-8859-9', 'ISO-8859-10', 'ISO-8859-13', 'ISO-8859-14', 'ISO-8859-15', 'ISO-8859-16', - 'WINDOWS-1252', 'WINDOWS-1251', 'EUC-JP', 'EUC-TW', 'KOI8-R' + 'WINDOWS-1252', 'WINDOWS-1251', 'EUC-JP', 'EUC-TW', 'KOI8-R', + 'ISO-2022-KR', 'ISO-2022-JP' ); $result = mb_detect_encoding($string, join(',', $enc)); diff --git a/roundcubemail/program/include/rcube_vcard.php b/roundcubemail/program/include/rcube_vcard.php index 8cc390c7a..ca7ca0822 100644 --- a/roundcubemail/program/include/rcube_vcard.php +++ b/roundcubemail/program/include/rcube_vcard.php @@ -396,6 +396,9 @@ class rcube_vcard if (substr($string, 0, 2) == "\xFF\xFE") return 'UTF-16LE'; // Little Endian if (substr($string, 0, 3) == "\xEF\xBB\xBF") return 'UTF-8'; + if ($enc = rc_detect_encoding($string)) + return $enc; + // No match, check for UTF-8 // from http://w3.org/International/questions/qa-forms-utf-8.html if (preg_match('/\A( |
