glibmm 2.4 转换输入中的无效字节序列

glibmm 2.4 invalid byte sequence in conversion input

正在尝试使用Glibmm-2.4输出中文returns"Invalid byte sequence in conversion input".

#include <iostream>
#include <glibmm/ustring.h>
#include <glibmm/convert.h>

int main()
{
  Glib::ustring myUstring = "中";
  try
  {
    std::cout << myUstring;
  }
  catch(Glib::ConvertError e)
  {
    std::cout << e.what();
  }
  return 0;
}

知道我在这里做错了什么吗? 使用 Ubuntu 14.04.2 i386 LTS、g++、glibmm-2.4

需要对语言环境进行初始化std::locale::global(std::locale("")); 为了使用 ustring 并让它正确地进行流运算符的隐式转换,否则 ASCII 之外的字符不能正确转换。

这已记录在案 here