From 0350eb9f3ca0f7f239ae868afef4e7765a22833b Mon Sep 17 00:00:00 2001 From: David M Date: Sun, 18 Feb 2007 21:03:36 +0000 Subject: [PATCH] - PHP4's mbstring is stupid stupid stupid git-svn-id: file:///svn/phpbb/trunk@7008 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/utf/utf_tools.php | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/phpBB/includes/utf/utf_tools.php b/phpBB/includes/utf/utf_tools.php index 9ab31e60e4..4c5b4a8983 100644 --- a/phpBB/includes/utf/utf_tools.php +++ b/phpBB/includes/utf/utf_tools.php @@ -728,11 +728,27 @@ function utf8_recode($string, $encoding) // Try the mb_string extension if (function_exists('mb_convert_encoding')) { - $ret = @mb_convert_encoding($string, 'utf-8', $encoding); - - if (!empty($ret)) + // mbstring is nasty on PHP4, we must make *sure* that we send a good encoding + switch ($encoding) { - return $ret; + case 'iso-8859-1': + case 'iso-8859-2': + case 'iso-8859-4': + case 'iso-8859-7': + case 'iso-8859-9': + case 'iso-8859-15': + case 'windows-1251': + case 'windows-1252': + case 'shift_jis': + case 'euc-kr': + case 'big5': + case 'gb2312': + $ret = @mb_convert_encoding($string, 'utf-8', $encoding); + + if (!empty($ret)) + { + return $ret; + } } }