我正在尝试打印一堆单位标签;其中一些包含希腊字符,一些具有其他有趣的代码点。
我将其追溯到wctomb
函数,例如不知道该怎么做。 UTF-16字符8240:
char mb[10];
assert( 0 <= wctomb(mb,8240) );
如何将
wctomb
使用的语言环境设置为“所有unicode字符”?如何从所需的字符开始找到所需的正确的语言环境名称?
最佳答案
设置正确的UTF-8语言环境将解决此问题;
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int main()
{
setlocale(LC_ALL, "en_US.UTF-8");
char mb[10];
assert( 0 <= wctomb(mb,8240) );
printf("%s\n", mb);
return 0;
}
见http://ideone.com/sflZj