Det løste problemet - det var vidst lige en misser ;)
Mit slutresultat er blevet: 
//fundet på 
http://dk.php.net/manual/en/function.mb-detect-encoding.php i kommentarerne.
function is_utf8($str) {
    $c=0; $b=0;
    $bits=0;
    $len=strlen($str);
    for($i=0; $i<$len; $i++){
        $c=ord($str[$i]);
        if($c > 128){
            if(($c >= 254)) return "false";
            elseif($c >= 252) $bits=6;
            elseif($c >= 248) $bits=5;
            elseif($c >= 240) $bits=4;
            elseif($c >= 224) $bits=3;
            elseif($c >= 192) $bits=2;
            else return "false";
            if(($i+$bits) > $len) return "false";
            while($bits > 1){
                $i++;
                $b=ord($str[$i]);
                if($b < 128 || $b > 191) return "false";
                $bits--;
            }
        }
    }
    return "true";
}
function convert_utf8($filename) {
    $fh = fopen($filename, "r");
    $file_content = fread($fh, filesize($filename));
    echo is_utf8($file_content);
    if (is_utf8($file_content) == "false") {
        $file_content = utf8_encode($file_content);
    }
    $fp = fopen($filename, 'w');
    fwrite($fp, $file_content);
    fclose($fp);
}
Så tjekker den lige om den er utf8 i forvejen, ellers kører den utf8_encode