It looks like your file is encoded in UTF-16, and not in an 8-bit character set. "^ @" is the designation for ASCII NUL '\ 0', which usually spoils string matching.
UTF-16 UTF-8, grep - , "utf16-utf8", :
utf16-utf8 weirdo | grep Lunch
"utf16-utf8", :
tr -d '\0' < weirdo | grep Lunch
ASCII NUL grep "". ; , , .