Endelig fik jeg lejlighed til at kigge på det:
function fix_danish_filenames($vals)
{
$name = array_reverse(explode('/', $vals['file']));
$name = urldecode($name[0]);
$url = str_replace($name, '', urldecode($vals['file']));
$wurl = str_replace($name, '', urldecode($vals['url']));
$name = str_replace('æ','ae',$name);
$name = str_replace('ø','oe',$name);
$name = str_replace('å','aa',$name);
$name = str_replace('Æ','AE',$name);
$name = str_replace('Ø','OE',$name);
$name = str_replace('Å','AA',$name);
$name = str_replace(' ','-',$name);
if(@rename($vals['file'], $url . $name))
{
return array(
'file' => $url . $name,
'url' => $wurl . $name,
'type' => $vals['type']
);
}
return $vals;
}
add_action('wp_handle_upload', 'fix_danish_filenames');
Tak for tippet maxemil!
Jeg har smidt alle 3 "issues" (brugernavne, slugs og filnavne) i et lille plugin (kan også smides i functions.php):
https://github.com/Tosak/Wordpress-fix-scandinavian-characters/blob/master/wordpress-fix-scandinavian-characters.php