【发布时间】:2019-07-22 14:04:14
【问题描述】:
我尝试在基于alpine:3.8 并安装了locale 的docker 容器中运行我的程序。我可以正确获得语言环境结果,但在我的程序中,我使用 setlocale() 函数来读取和转换一些 unicode,但得到了 NULL 结果。奇怪的是该程序在本地服务器(CentOS)上运行良好。
我通过这个在 alpine 中安装了语言环境
https://github.com/rilian-la-te/musl-locales
效果很好,我得到了正确的 locale/locale -a /locale -m 结果。
代码如下:
fprintf(stderr, "setlocale: \"%s\"\n", setlocale(LC_CTYPE, "zh_CN.UTF-8"));
setlocale(LC_ALL, "zh_CN.UTF-8");
我期待zh_CN.UTF-8的输出
【问题讨论】: