在C中获取当前语言环境的字符集?

Joo*_*kia 7 c locale

如何在C中找到当前区域设置的字符集?

setlocale(LC_ALL,NULL)返回"en_US.UTF8",但有没有办法获取字符集?在我的系统上的/etc/locale.gen中,它列出了语言环境和字符集,因此它不在名称中.

Jan*_*dec 6

您可以使用nl_langinfo(3)函数查询当前语言环境的各种参数.字符集是通过调用获得的nl_langinfo(CODESET).

请注意,setlocale在使用之前必须先调用nl_langinfo以使程序可识别区域设置.