unix grep command on special character

I tested grep -F “‘” ‘filename’ on a text file written in nano and on a odt file format from LibreOffice writer, both containing the same “‘” string and the latter fails to return the char – What’s up?
p.s. the char bytes are 00000000: e280 980a

Do you expect grep to be able to look into complex file formats like ODT (a ZIP archive with a file structure inside)? or do you expect complex file formats to be plain text?

Do I get to choose?

You get to know your tool. grep treats its input files as plain text. If they are not plain text, then you are using grep wrong.

You might want to pass textual contents of your documents to grep instead - using something like

soffice --cat file | grep ...

… but again, that required basic understanding of what you are doing. (The --cat works only for text documents though.)

Or you might want to unzip ODF/OOXML documents (both are basically ZIP archives with XMLs inside) into temporary directories, and search there (but realize that XMLs contain not only your text, but also XML-specific stuff).

Or you might want to convert your documents to plain text formats temporarily (.txt for text documents, .csv for spreadsheets), and search there.

Or to PDFs, and use dedicated PDF searching tools (I remember reading about such tool here recently; please google for it.)

That is really helpful, thanks a lot. I did however ran soffice --cat test.txt | grep -F 'a' on a text file containing ‘a’ to no avail.
EDIT: another instance of libre was running…bug 129713. I guess one get to know the tool… and the bugs:)