我从使用 gtk+ 的应用程序中收到以下警告:
(foo:11333): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()
发出警告的函数如下:
static void show_error(GtkWindow *parent, const gchar *fmt, ...)
{
GtkWidget *dialog;
va_list args;
va_start(args,fmt);
dialog = gtk_message_dialog_new(parent,
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_OK,
fmt,
args);
(void)gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(dialog);
va_end(args);
}
我打电话给ui_show_error(window, "error canno't read file %s", filename);
哪里filename
是空终止字符串,它适用于str*()
和*printf()
函数系列。
如何解决这个问题?