C 用Vala打印阿拉伯文文本
我试过了C 用Vala打印阿拉伯文文本,c,unicode,locale,glib,vala,C,Unicode,Locale,Glib,Vala,我试过了 print ("السلام عليكم\n"); 它输出 ?????? ????? 在查看生成的c代码之后 ... g_print ("السلام عليكم\n"); ... 看起来他们使用的是g_print(),而C中的printf()与g_print()不一样,后者在阿拉伯语中工作得非常好 那么,是否仍要在Vala中打印阿拉伯语文本?只需在代码开头添加以下内容: Intl.setlocale (LocaleCategory.ALL, ""); 通过将第二个参数保留为空
print ("السلام عليكم\n");
它输出
?????? ?????
在查看生成的c代码之后
...
g_print ("السلام عليكم\n");
...
看起来他们使用的是g_print(),而C中的printf()与g_print()不一样,后者在阿拉伯语中工作得非常好
那么,是否仍要在Vala中打印阿拉伯语文本?只需在代码开头添加以下内容:
Intl.setlocale (LocaleCategory.ALL, "");
通过将第二个参数保留为空字符串,您正在加载当前用户设置的语言环境(在现代Linux系统上可能是基于UTF-8的语言环境)
Windows在这里是一个不同的故事
另见:
Intl.setlocale()
因为LocaleCategory.ALL“
现在是默认参数。