This question has been answered by hochmohr. See the first response.
if ($size > $maxFileSize) {
$this->addError('path',$this->xpdo->lexicon('file_err_too_large',array(
'size' => $size,
'allowed' => $maxFileSize,
)));
continue;
}
/////// added / changed lines
$pat = array('/Ä/','/Ö/','/Ü/','/ä/','/ö/','/ü/','/ß/', '/(á|â|à)/', '/(é|è|ê)/', '/(í|ì|î)/', '/\s+/');
$rep = array('Ae','Oe','Ue','ae','oe','ue','ss', 'a', 'e', 'i', '_');
$newPath = preg_replace($pat, $rep, utf8_decode($file['name']));
$newPath = $this->fileHandler->sanitizePath($newPath);
// $newPath = $this->fileHandler->sanitizePath($file['name']);
///////
$newPath = $directory->getPath().$newPath;