Subject: | Unicode/UTF-8 characters not supported |
Dist Ver/Name Win32::GuiTest v1.50.5
Perl Dist: perl, v5.8.8 built for MSWin32-x86-multi-thread
Operating Systems : Microsoft Windows XP Home/Professional Service Pack
2 in the following languages...English, Italian,Portuguese, Brazilian
Portuguese,Czech (this is where i found the problem), Danish,
Dutch,Finnish, French, German, Norwegian, Polish, Korean, Traditional
Chinese, Simplified Chinese, Japanese, Thai, Hungarian,Russian, Swedish
Summary: Unicode and UTF-8 characters not supported.
Result: When using characters such as č,Č,ř,ž,š,ě,ø,ť and similar in
european languages and unicode characters in asian languages with
WaitWindow,WaitWindowLike, FindWindowLike, SendKeys, PushButton,
PushChildButton and PushChildById or other functions which ask for text
of a button or window title, these items cannot be found on the window.
Expected: Unicode characters, UTF-8, UTF-16 (Big/Little Endian) should
be properly detected on all languages for window titles and buttons for
all native operating system languages, returning the correct window
handles and ids.
Other notes: All of my files, scripts, xml files which hold my localized
text strings are all UTF-8 encoded, no error messages were thrown, only
the window was not found.
Code/Info: Directly in my UTF-8 encoded perl script the following works,
so i know it is not my perl distribution causing it...
my @char = ("š","Č","č","ý","ž");
foreach my $char(@char){
print "Character: $char\n";
if($char=~/š|Č|č|ý|ž/){
print "Able to recognize!\n";
}else{
print "Cannot recognize!\n";
}
}
But when these characters are used in the above mentioned functions that
is in a window title or button name, they cannot be found, no error,
just no window found or handle returned, or button pressed.
Sample: In a Win32 program make the title have the following "Česká
republika aktuálně", just for sample text, then run the function
FindWindowLike looking for one of the characters mentioned, it will not
return the window in which the text resides.