Anomy has worked great for me here at work filtering everything I need it to. I had one user who had complained about one of his files being renamed because it had a & in it. Here's his sanitizer.log.
SanitizeFile (filename="iChain 2.1 T&E.doc", mimetype="application/msword"):
Enforced policy: accept
Replaced file name with: iChain 2.1 T_E.doc
I currently have this in my Sanitizer.pm file.
"file_characters" => '\?A-Za-z0-9!,_= .áéíóúýþæöðÁÉÍÓÚÝÞÆÖÐ',