UTF-8 Everywhere
&gt; <i>Q: What do you think about Byte Order Marks? A: According to the Unicode Standard (v6.2, p.30): &quot;Use of a BOM is neither required nor recommended for UTF-8&quot;. [...] Using BOMs would require all existing code to be aware of them, even in simple scenarios as file concatenation. This is unacceptable.</i><p>Then your site &quot;UTF-8 everywhere&quot; is misnamed, because standards-following UTF-8 can have a BOM. 
It&#x27;s not required or recommended, but it is possible and allowable, so you might see them and if you follow the standard you have to deal with them. It&#x27;s not a matter of &quot;this would require all existing code to handle them&quot; - that is not hypothetical, that is the current world, to be standards-compliant all existing code <i>does already</i> need to be aware of them. It isn&#x27;t, which means it&#x27;s broken. Declaring it &quot;unacceptable&quot; is meaningless, except to say you&#x27;re rejecting the standard and doing something incompatible and broken because it&#x27;s easier.<p>Which is a position one can take and defend, but it&#x27;s not a good position for a site claiming to be pushing for people to follow the standard. What it is, is yet another non-standard ad-hoc variant defined by what some subset of tools the authors use can&#x2F;can&#x27;t handle in April 2020.<p>&gt; &quot;<i>the UTF-8 BOM exists only to manifest that this is a UTF-8 stream</i>&quot;<p>Throwing the word &quot;only&quot; in there doesn&#x27;t make it go away. It exists as a standards-compliant way to distinguish UTF-8 from ASCII, not recommended but not forbidden.<p>&gt; &quot;<i>A: Are you serious about not supporting all of Unicode in your software design? And, if you are going to support it anyway, how does the fact that non-BMP characters are rare practically change anything</i>&quot;<p>Well in the same way, how does the fact that UTF8+BOM is rare practically change anything? At some level you&#x27;re either pushing for everyone to follow standards even if it&#x27;s inconvenient because that makes life better for everyone overall, like you are with surrogate pairs and indexing, or you&#x27;re creating another ad-hoc incompatible variation of UTF-8 which you prefer to the standard and trying to strong-arm everyone else into using it with threats of being incompatible with all the code which already does it wrong.<p>Being wary of Chesterton&#x27;s Fence, presumably there&#x27;s some company or system which got UTF-8+BOM added to the standard because they wanted it, or needed it.