dipende da come gestisci i caratteri, in generale lo si specifica nell'html o tramite header, altrimenti la cosa è un pòo casual

se nel tag meta c'è scritto UTF8 allora devi mettere un utf8_decode prima di lanciare l'espressione regolare (dai un occhiata alle preg_*)