($GLOBALS['PMA_recoding_engine']) {
case PMA_CHARSET_RECODE:
return recode_string($convcharset . '..' . $charset, $what);
case PMA_CHARSET_ICONV:
return iconv($convcharset, $charset . $cfg['IconvExtraParams'], $what);
case PMA_CHARSET_LIBICONV:
return libiconv($convcharset, $charset, $what);
default:
return $what;
}
} elseif (is_object($what)) {
// isn't it object returned from
mysql_fetch_field ?
if (@is_string($what->name)) {
$what->name = PMA_convert_display_charset($what->name);
}
if (@is_string($what->table)) {
$what->table = PMA_convert_display_charset($what->table);
}
if (@is_string($what->Database)) {
$what->Database = PMA_convert_display_charset($what->Database);
}
return $what;
} else {
// when we don't know what it is we don't touch it...
return $what;
}
} // end of the "PMA_convert_display_charset()" function
/**
* Converts encoding of text according to current settings.
*
* @param string what to convert
*
* @return string converted text
*
* @global array the configuration array
* @global boolean whether recoding is allowed or not
* @global string the current charset
* @global array the charset to convert to
*
* @access public
*
* @author nijel
*/
function PMA_convert_charset($what) {
global $cfg, $allow_recoding, $charset, $convcharset;
if (!(isset($cfg['AllowAnywhereRecoding']) && $cfg['AllowAnywhereRecoding'] && $allow_recoding)
|| $convcharset == $charset) { // rabus: if input and output charset are the same, we don't have to do anything...
return $what;
} else {
switch ($GLOBALS['PMA_recoding_engine']) {
case PMA_CHARSET_RECODE:
return recode_string($charset . '..' . $convcharset, $what);
case PMA_CHARSET_ICONV:
return iconv($charset, $convcharset . $cfg['IconvExtraParams'], $what);
case PMA_CHARSET_LIBICONV:
return libiconv($charset, $convcharset, $what);
default:
return $what;
}
}
} // end of the "PMA_convert_charset()" function
/**
* Converts encoding of text according to parameters with detected
* conversion function.
*
* @param string source charset
* @param string target charset
* @param string what to convert
*
* @return string converted text
*
* @access public
*
* @author nijel
*/
function PMA_convert_string($src_charset, $dest_charset, $what) {
if ($src_charset == $dest_charset) {
return $what;