/**
  * 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;
 }