diff options
author | Nathan Kinkade <nath@nkinka.de> | 2011-06-29 21:39:46 +0000 |
---|---|---|
committer | Nathan Kinkade <nath@nkinka.de> | 2011-06-29 21:39:46 +0000 |
commit | 09694f9982f4a12b3180135c0c6357561541874a (patch) | |
tree | c3dfae5d4e6a722a368227ee3855afec49bd9764 /modules/gallery/helpers/encoding.php | |
parent | b4c142b8d75a1c49bdc2d039e79e3d6773a22247 (diff) | |
parent | e8382b960a3c19bb28140833e348e6c9c9db8a8a (diff) |
Merge branch 'master' of git://github.com/gallery/gallery3
Diffstat (limited to 'modules/gallery/helpers/encoding.php')
-rw-r--r-- | modules/gallery/helpers/encoding.php | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/modules/gallery/helpers/encoding.php b/modules/gallery/helpers/encoding.php index c5928634..7d5add34 100644 --- a/modules/gallery/helpers/encoding.php +++ b/modules/gallery/helpers/encoding.php @@ -19,13 +19,16 @@ */ class encoding_Core { static function convert_to_utf8($value) { - if (function_exists("mb_detect_encoding") && - function_exists("mb_convert_encoding") && - mb_detect_encoding($value, "ISO-8859-1, UTF-8") != "UTF-8") { - $value = mb_convert_encoding($value, "UTF-8", mb_detect_encoding($value)); - } else if (function_exists("mb_detect_encoding") && - mb_detect_encoding($value, "ISO-8859-1, UTF-8") != "UTF-8") { - $value = utf8_encode($value); + if (function_exists("mb_detect_encoding")) { + // Rely on mb_detect_encoding()'s strict mode + $src_encoding = mb_detect_encoding($value, mb_detect_order(), true); + if ($src_encoding != "UTF-8") { + if (function_exists("mb_convert_encoding") && $src_encoding) { + $value = mb_convert_encoding($value, "UTF-8", $src_encoding); + } else { + $value = utf8_encode($value); + } + } } return $value; } |