From: gff g. <tar...@ho...> - 2011-02-17 14:10:50
|
Hi, I'm working on a project and i added the multilanguage support. Perl : (v5.12.2) MSWin32-x86 build 1203 294165,OS : Windows 7 x86,Installed languages in OS : English,Turkish How to display the unicode charset in Win32::GUI Label->Text?Example; added "russian language" but not display in label text.I'm searching for solutions 4 days.I'm founded this solutions (and other) http://webcache.googleusercontent.com/search?q=cache:5HoSSFnETV4J:www.mail-archive.com/perl-win32-gui-users%40lists.sourceforge.net/msg04941.html+perl+win32+GUI+unicode+label&cd=5&hl=tr&ct=clnk&gl=tr&source=www.google.com.tr http://webcache.googleusercontent.com/search?q=cache:l_gAFrhiqxMJ:www.mail-archive.com/perl-win32-gui-users%40lists.sourceforge.net/msg04944.html+perl+win32+GUI+unicode+label&cd=6&hl=tr&ct=clnk&gl=tr&source=www.google.com.tr [My idea] I have install the russian language in my OS? This is a solution? Here is my codes.2 encode methods testing. Turkish charset testing : ç use warnings; use strict; use Win32::GUI(); use Data::Dumper; use Encode qw/decode/; my $str = "ç"; # This is "turkish" charset "ç" $str = decode("utf-8", $str); # decoding "ç" char with utf-8 print Dumper($str); # And "ç" char dumped, output : \x{e7} my $win = new Win32::GUI::Window( -name => "win", -text => "Unicode Test", -width => 300, -height => 200 ); $win->AddLabel( -name => "labeun", -text => "\x{e7}", # <--- Write here hex code char "\x{e7}" # and look at the results. Displaying label text "ç". No problem. -width => 50, -height => 20 ); $win->Center(); $win->Show(); Win32::GUI::Dialog(); 1;I tried ucs2 encoding (and other) but didn't. Example : Russian charset ф use warnings; use strict; use Win32::GUI(); use Encode qw/encode decode/; use Data::Dumper; my $str = "ф"; # This is "russian" charset. * a == ф * my $utf8 = decode("utf-8", $str); # decoding "ф" char with utf-8 my $ucs2 = encode("UCS-2LE",$utf8); # and encoding char with UCS-2LE.Others have tried.! # Other encoding schemes : UCS-2BE, UCS-2LE, UTF-16, # UTF-16BE, UTF-16LE, UTF-32, UTF-32BE, UTF-32LE my $win = new Win32::GUI::Window( -name => "win", -text => "Unicode Test", -width => 300, -height => 200 ); $win->AddLabel( -name => "labeun", -text => "$ucs2", # <--- Writing here encoding char.Displaying label t +ext "unkown". FAIL -width => 50, -height => 20 ); $win->Center(); $win->Show(); Win32::GUI::Dialog(); 1; No problem other perl gui modules. Tested "russian charset" with wxPerl, Perl/Tk, Gtk2 modules and working good...But The whole project written with Win32::GUI module.Can not change the "win32-gui" module with others! Did i use a different module? :)The current project consists of 15.000 lines. Rewrite project with other perl GUI module? :)ORCan i use a combination of 2 modules?Ex: Win32::GUI and wxPerl(Label) module combination....? Regards...Ahmet. |