I have Firefox set to use UTF-8, and when I display the page info and the response headers, the encoding in use is UTF-8.  This is what I get whether I'm looking at the online repository or any of my local repositories.

You can usually force a browser to use whatever encoding you want as long as the server will supply it, and in Fossil's case it will supply UTF-8.

I use UTF-8 code points in comments all the time&#8212;including this comment.  For me, it displays correctly.  I'm sure for some it displays as <code> &amp;#8212; </code> or perhaps a different number (or two in the worst case.)

The only place I've found where Fossil is at all "ill-mannered" about encodings is it's insistence on using "entified" versions of multi-byte characters in the titles of wiki pages.  It's not even clear if that is a bug.

99.9% of the problems with encodings stem from a mismatch between the encodings two disparate systems are using.  If the web server will serve multiple encodings, but your browser is allowing a default that isn't what's wanted, then the encoding will appear to be wrong.

The fast and loose way that some OS' and other software will switch encodings to make using them "friendly" doesn't help.  The best bet is to pick some UC and set everything on your system to use it, ask for it, and complain when it isn't available.  If you generally hit sites where Latin-1 would work, you should probably set everything to UTF-8.

Encodings are thorny.  If something isn't displaying correctly, make sure you check every setting (and there are a LOT of places to set an encoding.)  If you're using a non-unix or not-unix-like system, you will need to do a lot more checking.