These are two distinct problems.
The ? characters are from a bad encoding set. That is resolved by using a utf-8 header.
The other three characters are byte order markers. Those are embedded in the file itself; either save the file in ANSI format to remove the utf8 from it, or use non-bom unicode as the save method.
header('HTTP/1.1 420 Enhance Your Calm');