Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 用Vala打印阿拉伯文文本_C_Unicode_Locale_Glib_Vala - Fatal编程技术网

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在这里是一个不同的故事

另见:


或从Vala 0.28可以使用
Intl.setlocale()
因为
LocaleCategory.ALL“
现在是默认参数。