No estas escapando los caracteres para usarlo con preg_match (http://php.net/preg_quote), que tal si intentas asi:
Código PHP:
Ver original<?php
$fileName = "El caballo blanco de santiago";
$fileCara = array( "*", "\\", "/", ":", "?", "¿", "<", ">", "|", "&", ",", ";", "%00", "%");
foreach($fileCara as $char)
if(strpos($fileName, $char)) { }
?>