diff options
author | thomascube <thomas@roundcube.net> | 2007-10-18 09:33:49 +0000 |
---|---|---|
committer | thomascube <thomas@roundcube.net> | 2007-10-18 09:33:49 +0000 |
commit | 0393dacedf4532054db3396f05ae8037b7ad4739 (patch) | |
tree | 1aabb946fd34352bd3555c9286dacca9fcadabcd | |
parent | 142e5f8f924272fb6e29806d7c7eb8c2ec6c6c9e (diff) |
Add support for Korean charset (KS_C_5601)
-rw-r--r-- | program/include/main.inc | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/program/include/main.inc b/program/include/main.inc index 5a47242e3..b940e2a13 100644 --- a/program/include/main.inc +++ b/program/include/main.inc @@ -1077,16 +1077,18 @@ function rcube_charset_convert($str, $from, $to=NULL) // convert charset using iconv module if (function_exists('iconv') && $from != 'UTF-7' && $to != 'UTF-7') - return iconv($from, $to . "//IGNORE", $str); + { + $iconv_map = array('KS_C_5601-1987' => 'EUC-KR'); + return iconv(($iconv_map[$from] ? $iconv_map[$from] : $from), ($iconv_map[$to] ? $iconv_map[$to] : $to) . "//IGNORE", $str); + } // convert charset using mbstring module if ($MBSTRING) { - $to = $to=="UTF-7" ? "UTF7-IMAP" : $to; - $from = $from=="UTF-7" ? "UTF7-IMAP": $from; + $mb_map = array('UTF-7' => 'UTF7-IMAP', 'KS_C_5601-1987' => 'EUC-KR'); // return if convert succeeded - if (($out = mb_convert_encoding($str, $to, $from)) != '') + if (($out = mb_convert_encoding($str, ($mb_map[$to] ? $mb_map[$to] : $to), ($mb_map[$from] ? $mb_map[$from] : $from))) != '') return $out; } |