php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #45020 Codepage Error on Windows 2000
Submitted: 2008-05-16 13:45 UTC Modified: 2008-05-22 10:31 UTC
From: wilhelm dot wichtig at gmx dot net Assigned:
Status: Closed Package: PHP-GTK related
PHP Version: 5.2.6 OS: Windows 2000 NT
Private report: No CVE-ID: None
 [2008-05-16 13:45 UTC] wilhelm dot wichtig at gmx dot net
Description:
------------
I've installed PHP-GTK2.0.0 on two different Windows 2000 NT systems. One system uses codepage 850 and everything works fine. On the other system codepage 437 is installed and I adjusted the php-cli.ini to this codepage.

On the the Windows 2000 NT with codepage 437 the demo applications are not working properly.

I tried the ComboBox-Selector (PHP-Gtk2-Demo). When I click on "Check this" the program crashes.The demo also crashes, when I click on the StockItemBrowserDemo in the main menu.

The codepage setting is right and I'm not using any keys to navigate.

Reproduce code:
---------------
see example code of demos from Windows binary pack - http://gtk.php.net/download.php

Actual result:
--------------
GtkComboBox

Warning: GtkComboBox::get_active_text(): could noct convert return value from UTF-8 in C:\Program Files\PHP-Gtk2\demos\components\combobox.php:86

Stack trace:
#0 C:\Program Files\PHP-Gtk2\demos\components\comobox.php(86): GtkComboBox->get_active_text()
#1 [internal function]: ComboBox->onClickedButton(Object(GtkButton), Object(GtkComboBox))
#2 C:\Program Files\PHP-Gtk2\demos\components\comobox.php(344): Gtk::main()
#3 (main) thrown in C:\Program Files\PHP-Gtk2\demos\components\comobox.php on line 86


StockItemBrowserDemo

Warning: Could not conver item label from UTF-8 in C:\Program Files\PHP-Gtk2\demos\components\stock-browser2.php on line 173

Fatal error: Uncaught exception 'PhpGtkGErrorException' with message 'Invalid byte sequence in conversion input' in C:\Program Files\PHP-Gtk2\demos\components\stock-browser2.php:135

Stack trace:
#0 C:\Program Files\PHP-Gtk2\demos\components\stock-browser2.php(135):Gtk::stock_lookup('gtk-about')
#1 C:\Program Files\PHP-Gtk2\demos\components\stock-browser2.php(66):StockItemBrowserDemo->create_model()
#2 C:\Program Files\PHP-Gtk2\demos\components\phpgtk2-demo.php(151):StockItemBrowserDemo->__create_box()
#3 [internal function]: PHPGtk2Demo->demo_selected(Object(GtkTreeSelection))
#4 C:\Program Files\PHP-Gtk2\demos\components\phpgtk2-demo.php(344): Gtk::main()
#5 (main) thrown in C:\Program Files\PHP-Gtk2\demos\components\stock-browser2.php on line 135

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2008-05-16 15:06 UTC] auroraeosrose@php.net
The caveat with using windows codepages is 
"so long as the encoding format you choose is capable of iconv conversion" - the warning you're getting from gtk means whatever you're feeding to the iconv conversion is failing - hence the issue.

Did you have this problem with the beta version of PHP-GTK2?

Do you have errors if you leave the codepage at CP1252 or even 850?  It might have incorrect characters for higher level ascii values, but the base is the same.

Are you certain that is the codepage the system is set to for that user?


Some additional information:
The "official" windows builds of the gtk libraries I've been using are no longer using a real libiconv, instead they're using a stripped down windows version that "fakes" iconv functionality, which might be where the issues are coming from.  However, fixing this means I need to finish compiling custom versions of gtk, a big project.

 [2008-05-21 11:06 UTC] wilhelm dot wichtig at gmx dot net
Hey,

I haven't tried the php-gtk beta version. So I used the 2.0.0 version and today I updated to the 2.0.1 version. The problem still exists. The exceptions throws either with codepage 850, CP1252 or codepage 437. 

I inserted a phpinfo right ahead of the demoscript to check the settings:

***********
PHP Version => 5.2.5
System => Windows NT HRM 5.0 build 2195

[...]

RegisteredStreamFilters => convert.iconv.*,[...]

[...]

php-gtk

GTK+ support => enabled
GTK+ v => 2.12.9

php.gtk.codepage => 437 => 437

[...]

iconv

iconv support => enabled
iconv implementation => "libiconv"
iconv library version => 1.9

iconv.input_encoding => ISO-8859-1 => ISO-8859-1
iconv.internal_encoding => ISO-8859-1 => ISO-8859-1
iconv.output_encoding => ISO-8859-1 => ISO-8859-1

***************

Do I need to set the iconv.input_encoding manually? I guess php-gtk2 is taking care of it, doesn't it?

The windows active codepage is '437' as the command "chcp" tells me right before I execute the script.
 [2008-05-22 10:31 UTC] wilhelm dot wichtig at gmx dot net
This seems not to be a problem of PHP-Gtk2.

Today I installed the newest Windows 2000 NT updates. Afterwards everything worked just fine! So I guess it's the buggy Windows NT ;)

Thanks for your effort!
 
PHP Copyright © 2001-2022 The PHP Group
All rights reserved.
Last updated: Mon Jan 17 03:03:34 2022 UTC