如何在textbuffer gtkmmTextView中写出字母ñ?

时间:2011-05-29 21:07:42

标签: c++ utf-8 textview gtkmm

当我尝试在textbuffer TextView中插入ñ时,CMD会显示以下错误:

  

(textEditor.exe:696):Gtk-CRITICAL **:   gtk_text_buffer_emit_insert:断言   g_utf8_validate(text,len,NULL)'   失败

源代码示例(c ++和gtkmm):

Glib::RefPtr<Gtk::TextBuffer> refTextBuffer = textView->get_buffer();
refTextBuffer->set_text("\xA4");            //hex ASCII
refTextBuffer->insert_at_cursor("ñ");

1 个答案:

答案 0 :(得分:1)

它需要一个UTF-8值,并且您选择了上部ASCII范围内未映射到UFT-8的内容。看here然后here,您需要使用0xC3 0xB1的值来获得所需的效果。快速猜测适合您的代码是......

refTextBuffer->set_text("\xC3\xB1"); //Hex version of UTF-8 Value