Как написать письмо – в текстовом буфере gtkmmTextView?

Когда я пытаюсь вставить ñ в текстовый буфер TextView, CMD отображает следующую ошибку:

(textEditor.exe:696): Gtk-CRITICAL **: gtk_text_buffer_emit_insert: утверждение g_utf8_validate (текст, длина, NULL)' не удалось

Пример исходного кода (С++ и gtkmm):

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

person rChavz    schedule 29.05.2011    source источник


Ответы (1)


Требуется значение UTF-8, и вы выбрали что-то в верхнем диапазоне ASCII, которое не соответствует UFT-8. Глядя здесь, а затем здесь кажется, что вам нужно использовать значение 0xC3 0xB1, чтобы получить желаемый эффект. Быстрое предположение для кода, который должен работать для вас, это...

refTextBuffer->set_text("\xC3\xB1"); //Hex version of UTF-8 Value
person Andrew White    schedule 29.05.2011