/** * Convert non-UTF8 strings to UTF8. Strings already in UTF8 will be * returned intact. * * @param string $str * @return string */ public static function convert_to_utf8($str) { if (Encoding::is_ascii($str)) { // valid! nothing to do } elseif (Encoding::is_utf8($str)) { // valid! nothing to do } elseif (Encoding::is_cp1252($str)) { $str = utf8_encode($str); $str = Encoding::fix_cp1252_codepoints_in_utf8($str); } elseif (Encoding::is_latin1($str)) { $str = utf8_encode($str); } return $str; }