function transliterate($str, $enc) { // see this for hebraic-chinisee // http://www.derickrethans.nl/translit.php global $CONF_use_utf; if ($enc == 'gb2312') { // echo "#### $str $enc ##"; if (!$CONF_use_utf) { require_once dirname(__FILE__) . "/lib/ConvertCharset/convert_gb2312.php"; return gb2312_to_latin($str); } else { if (substr(phpversion(), 0, 1) >= 5) { require_once dirname(__FILE__) . "/lib/ConvertCharset/chinese/charset.class.php"; $gb2312_str = Charset::convert($str, 'utf-8', 'gb2312'); $str2 = Charset::PinYin($gb2312_str, 'gb2312'); // echo "^gb2312_str : $gb2312_str ^ "; // echo "^str2: $str2 ^ "; return $str2; } else { return $str; } } } require_once dirname(__FILE__) . "/lib/ConvertCharset/ConvertCharset.class.php"; require_once dirname(__FILE__) . "/lib/utf8_to_ascii/utf8_to_ascii.php"; // if $CONF_use_utf it means the $str is already in utf // so translitarate it directly if ($CONF_use_utf) { return utf8_to_ascii($str); } $NewEncoding = new ConvertCharset(); $str_utf8 = $NewEncoding->Convert($str, $enc, "utf-8", $Entities); return utf8_to_ascii($str_utf8); }