如何在文本缓冲区 gtkmmTextView 中写字母 ñ?

How to write the letter ñ in textbuffer gtkmmTextView?

本文关键字:gtkmmTextView 文本 缓冲区      更新时间:2023-10-16

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

(textEditor.exe:696):Gtk关键**: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("ñ");

它想要一个UTF-8值,而您在ASCII的上限范围中选择了一些不映射到UFT-8的值。从这里再从这里看,似乎需要使用0xC3 0xB1的值来获得所需的效果。快速猜测应该为您工作的代码是…

refTextBuffer->set_text("xC3xB1"); //Hex version of UTF-8 Value