On Wed, Jun 02 2021, Taylor Blau wrote: > On Wed, Jun 02, 2021 at 06:46:46PM +0700, Đoàn Trần Công Danh wrote: >> Despite being required by POSIX, locale(1) is unavailable in some >> systems, e.g. Linux with musl libc. Some of those systems support >> utf-8 locale out of the box. > > Hmmph. I would have imagined that locale was available everywhere, but > unfortunately not. Small and unsolicited history lesson from a person with funny characters in their name & language :) Today it seems like *nix systems have always had UTF-8, but this was a relatively late development. It's Plan9 that had UTF-8 from the start, on *nix systems it was US-ASCII, and anything else was tacked on top later on. When I started using *nix systems I belive it was quite common to have default configurations with only ISO-8859-1 locales installed, and certainly that's what a lot of or most users who had the need for locales in European languages not covered by US-ASCII used by default. This is from hazy memory, but I think it was even actively recommended against having or using UTF-8 locales on the system. If you e.g. connected to an IRC channel, or copy/pasted from your text editor into an E-Mail you could easily send the other end misencodedgibberish. Later on things like IRC channels in these languages had a "switch day", it was a complete mess. Nowadays mostly nobody really notices or remembers anymore these encoding issues since we've mostly got UTF-8 everywhere as a result. I mean, at least in the case of European languages, I understand e.g. Japanese and Chinese still have their own persistent encoding issues related to competing standards. Even today you can't rely on UTF-8 even on Linux systems, and I think this has become even more true of late with minimal CI systems or other chroot-like test environments.