Извиняюсь, если это дубликат, но мои попытки найти ответ потерпели неудачу. В документации POSIX нет четкого представления о строках, используемых для представления кодовых наборов, например, возвращаемых nl_langinfo или принимаемых в качестве аргумента iconv_open. Мне нужен надежный способ проверки того, что текущая локаль будет использовать UTF-8. Эксперименты на Mac OS и различных дистрибутивах Linux показывают, что я должен проверить, что nl_langinfo (CODESET) возвращает «UTF-8». Это задокументировано в соответствующем стандарте? Нужно ли разрешать варианты типа "utf-8"?