&gt; good luck getting your UTF-8 text output to render correctly<p>That seems more like a comment on how terminals suck, not Unicode. Everything is painful in the terminal - I mean, good luck making your text red or green too!<p>&gt; Using UTF-8 typically means having to think long and hard about filtering input&#x2F;data, normalization<p>Typically? I really don&#x27;t think so. I almost never worry about such things. It&#x27;s a rare occasion when I have to deal with those kinds of things.<p>Its really a mistake to think that because your program can handle a particular character set that it can therefore handle any language which uses those characters. You&#x27;re always going to need to add support for specific languages, even when using ASCII, e.g. the sorting order of names is different in German and English. French typographical rules are different w.r.t spacing. Russia. Typesetting tradition formats math rather differently. Line breaking in Thai requires a dictionary because the language has no spaces.<p>Any software will run into problems eventually, usually with something as simple as German. Decide which languages you&#x27;re going to support, not which character codes!