C.UTF-8 (or POSIX.UTF-8) locale support
Last-Modified: 2026-05-07
Implementations
- 2014-07-02:
C.UTF-8explicitly added in musl with commit0bc03091bb674ebb9fa6fe69e4aec1da3ac484f2adding a locale framework (which already used UTF-8 by default) - 2016-01-05: Python PEP 540 – Add a new UTF-8 Mode
- 2016-12-28 ~ 2017-05-09: Python PEP 0538 – Coercing the legacy C locale to a UTF-8 based locale
- 2018-03: OpenBSD 6.3+
setlocale()adds support for.UTF-8, no other.charsetis supported - 2022-02-03:
C.UTF-8added in glibc 2.35 - 2022-02-15:
C.UTF-8added in Solaris 11.4.42 - 2024-03-19: PostgreSQL 17 adds a builtin
C.UTF-8locale with commitf69319f2f1fb16eda4b535bcccec90dff3a6795e
Standardization
- 2013-03-28 ~ 2015-07-02: POSIX discussion in Austin Group Bug #663, bugnote 1669:
We should add an optional POSIX.UTF-8 locale in Issue 8, […]
and in the interpretation response:We are also seeking proposals for the standardization of a "POSIX.UTF-8" locale for Issue 8.
- 2022-01-11 - present: POSIX proposal Austin Group Bug #1548: Addition of a POSIX.utf-8 locale (likely as 7.3 "POSIX.utf-8 locale")
- 2025-05-04: ISO/SC22/WG14/C-Language N3539 Jabot, Preserving LC_CTYPE at program start for UTF-8 locales