Please do explain this more extensive. “no luck” is a very bad description on what happened. Was the file the same after you did this, was there anything changed and when yes, what was changed. Do not let us guess, but tell us.
And yes, the & in a replacement string has a special meaning. From the man page:
s/regexp/replacement/
Attempt to match regexp against the pattern space. If successful, replace that portion matched with replacement. The replacement may contain the special character & to refer to that portion of the pattern space which matched, and the special escapes \1 through \9 to refer to the corresponding matching sub-expressions in the regexp.
First you should be aware of the fact that the character encoding of the file can be different from what you think. Then different programs can also have different ideas about that encoding. When you say FF, are you loading that file then through a web-server? Then it depends on what the server says the encoding is and/or meta statements about this in the HTML header.
Idealy all is in UTF-8. But I do not know where you have that file from. The fact that it displays things like  lets us assume that a wrong encoding assumption is already there.
You can try to use vi on it and then type :set as command. It will show what vi thinks it is (attention: vi is also doing only a intelligent guess and can be wrong).
the question of sed command started to make my script/servicemenu better
I can easy make a html file of a few photo’s, had problem with copyright sign.
The change is OK. But, assuming you have Apache running for this (maybe I am wrong here, because you did not realy explain that), also check if Apache has in /etc/apache2/default-server.conf:
AddDefaultCharset utf-8
The correct characterencosing should already be in the HTTP protocol lines send to the client. The one inside the HTML page is at the maximum additional.