Compdigitec Labs

« | Home | »

The “Gtk-CRITICAL gtk_text_buffer_emit_insert assertion” warning in PHP-GTK2

By admin | August 30, 2008

If your internationalized PHP-GTK2 apps have ever failed to work, you probably received the following message in the terminal before:

Gtk-CRITICAL **: gtk_text_buffer_emit_insert: assertion `g_utf8_validate (text, len, NULL)' failed

This means that you have been using or passing non-UTF8 (good chance that it is CP1252 on Windows) strings to PHP-GTK2 classes and methods, such as GtkWindow, GtkLabel or GtkTextBuffer. To fix this, you should use iconv to convert those non-UTF8 strings. Below is a list of commonly used encodings:

To use this list, take the encoding and put it in parameter 1. See below for examples:

<?php

// Convert from Chinese, Simplified
$result = iconv(“GB2312”,“UTF-8”,$source);

// Convert from Greek
$result = iconv(“ISO-8859-7”,“UTF-8”,$source);

// Convert from Arabic
$result = iconv(“ISO-8859-6”,“UTF-8”,$source);

// Convert from French, German, and other Western languages
$result = iconv(“windows-1252”,“UTF-8”,$source);

?>

If, as an exception, that you don’t have the iconv extension (included on most PHP-GTK2 setups), you can change the php-gtk.codepage directive. However, this is not flexible and can only be used for one language.

If you found this article helpful or useful, please help Compdigitec by spreading the word or by leaving a comment. Don’t forget to subscribe to Compdigitec Labs for more interesting articles!

If you found this article helpful or interesting, please help Compdigitec spread the word. Don’t forget to subscribe to Compdigitec Labs for more useful and interesting articles!

Topics: PHP | 6 Comments »

6 Responses to “The “Gtk-CRITICAL gtk_text_buffer_emit_insert assertion” warning in PHP-GTK2”

  1. pgsoft Says:
    January 24th, 2025 at 22:30

    … [Trackback]

    […] Information to that Topic: compdigitec.com/labs/2008/08/30/the-gtk-critical-gtk_text_buffer_emit_insert-assertion-warning-in-php-gtk2/ […]

  2. pk789 Says:
    January 25th, 2025 at 15:45

    … [Trackback]

    […] Read More on that Topic: compdigitec.com/labs/2008/08/30/the-gtk-critical-gtk_text_buffer_emit_insert-assertion-warning-in-php-gtk2/ […]

  3. พิมพ์การ์ดงานแต่ง Says:
    January 28th, 2025 at 04:38

    … [Trackback]

    […] Find More on that Topic: compdigitec.com/labs/2008/08/30/the-gtk-critical-gtk_text_buffer_emit_insert-assertion-warning-in-php-gtk2/ […]

  4. HArmonyCa Says:
    February 5th, 2025 at 00:26

    … [Trackback]

    […] Find More here to that Topic: compdigitec.com/labs/2008/08/30/the-gtk-critical-gtk_text_buffer_emit_insert-assertion-warning-in-php-gtk2/ […]

  5. Sbobet777 Says:
    February 19th, 2025 at 21:06

    … [Trackback]

    […] Find More here to that Topic: compdigitec.com/labs/2008/08/30/the-gtk-critical-gtk_text_buffer_emit_insert-assertion-warning-in-php-gtk2/ […]

  6. แทงบอลออนไลน์เกาหลี Says:
    February 19th, 2025 at 22:57

    … [Trackback]

    […] Here you can find 73537 more Info on that Topic: compdigitec.com/labs/2008/08/30/the-gtk-critical-gtk_text_buffer_emit_insert-assertion-warning-in-php-gtk2/ […]

Comments