function change($data, $input, $output) { $input = strtoupper(trim($input)); $output = strtoupper(trim($output)); if ($input == $output) { return $data; } if ($input == 'UTF-8' && $output == 'ISO-8859-1') { $data = str_replace(array('€', '„', '“'), array('EUR', '"', '"'), $data); } if (function_exists('iconv')) { set_error_handler('acymailing_error_handler_encoding'); $encodedData = iconv($input, $output . "//IGNORE", $data); restore_error_handler(); if (!empty($encodedData) && !acymailing_error_handler_encoding('result')) { return $encodedData; } } if (function_exists('mb_convert_encoding')) { return mb_convert_encoding($data, $output, $input); } if ($input == 'UTF-8' && $output == 'ISO-8859-1') { return utf8_decode($data); } if ($input == 'ISO-8859-1' && $output == 'UTF-8') { return utf8_encode($data); } return $data; }
function change($data, $input, $output) { $input = strtoupper(trim($input)); $output = strtoupper(trim($output)); $supportedEncodings = array("BIG5", "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-2022-JP", "US-ASCII", "UTF-7", "UTF-8", "UTF-16", "Windows-1251", "Windows-1252", "ARMSCII-8", "ISO-8859-16"); if (!in_array($input, $supportedEncodings)) { acymailing_enqueueMessage('Encoding not supported: ' . $input, 'error'); } elseif (!in_array($output, $supportedEncodings)) { acymailing_enqueueMessage('Encoding not supported: ' . $output, 'error'); } if ($input == $output) { return $data; } if ($input == 'UTF-8' && $output == 'ISO-8859-1') { $data = str_replace(array('€', '„', '“'), array('EUR', '"', '"'), $data); } if (function_exists('iconv')) { set_error_handler('acymailing_error_handler_encoding'); $encodedData = iconv($input, $output . "//IGNORE", $data); restore_error_handler(); if (!empty($encodedData) && !acymailing_error_handler_encoding('result')) { return $encodedData; } } if (function_exists('mb_convert_encoding')) { return mb_convert_encoding($data, $output, $input); } if ($input == 'UTF-8' && $output == 'ISO-8859-1') { return utf8_decode($data); } if ($input == 'ISO-8859-1' && $output == 'UTF-8') { return utf8_encode($data); } return $data; }