Once you switch to a end-to-end utf-8 system it comes all much easier.
end-to-end means an editor in utf-8, pages in utf-8, a database in utf-8, ... everything.
Just say NO to the BOM (Byte Order Mark), it's "hidden" at the beginning of the file and will be a PITA as they can be output in e.g. php script before you get to set headers ...
For the rest, as Lucy24 also said, take care with word and co as they like to convert too many things.
In the end once you go UTF-8 all the way you need to worry much less about html entities (in fact polyglot (x)html5 only allows 5 of the named ones anymore: & < > ' " all the rest: you just type them, or use the numeric reference if you have to)
Recently even only the first 3 ones are all I'm using anymore.
I recently had to deal with some crap on a IIS installation (normally I don't touch that with a yardstick, but I kinda had to for other reasons): it was set in iso-latin-1 all the way, but every so often it threw in a character in UTF-8 nonetheless. Seems this is a "known" issue in the Microsoft world - Again the solution -while not easy in that instance- is to go UTF-8 all the way and forget about iso-latin-1 (or worse).