Netbeans C ++不能打印UTF-8字符

时间:2016-08-08 04:02:22

标签: c++ netbeans unicode utf-8 netbeans-8.1

这是非常简单的C ++代码:

char a00 = 'Z';
char a01 = '\u0444';
char a02[5] = {'H','e','l','l','o'};
char a03[] = {'W','o','r','l','d','\0','Z','Z'};

cout << "Simple char: " << a00
        << "\nUTF-8 char: " << a01
        << "\nFull char array: " << a02
        << "\n2nd in char array: " << a02[1]
        << "\nWith null character: " << a03 << endl;

我的问题是当Netbeans 8.1试图显示这样一个程序的输出时,它不会创建UTF-8字符。

角色应如下所示:ф(参见:link

相反,我得到以下输出:

(image)

我尝试将-J-Dfile.encoding=UTF-8添加到位于netbeans_default-options文件夹内的netbeans.conf文件中的etc。它没有任何区别。

1 个答案:

答案 0 :(得分:1)

UTF-8多字节字符编码,这意味着大多数字符占用几个字节。因此,单个char不足以容纳大多数UTF-8个字符。

您可以将它们存储在这样的字符串中:

std::string s = "\u0444";