>Radomir Hejl thusly scribbled:
>
>>> I for the first time tried to pack my script with -o foo.exe
>>> foo.pl and got a message 'Can't locate encoding.pm in @INC
>>> (@INC contains: CODE(0xee7e58) ...'. I get this message when
>>> the script has only a line with use encoding 'utf-8'; When I
>
>
>Could you check whether encoding.pm has actually been packed
>into the PAR contained in foo.exe - you can list its contents with
>
> unzip -l foo.exe
>
>
>>> use pragma lib ('c:/perl/lib') the exe script runs ok.
>
>
>That only papers over the problem: it makes foo.exe load
>the encoding.pm that's installed with your installation of Perl,
>so this won't work on a machine that hasn't Perl installed.
>
>
>>> Why doesn't the Packager find this library path? It's in @INC.
>
>
>Good question. I had similar problems on Win32, try adding
>
>use Encode::Unicode;
>
>as your first "use ...". My problem's visible clues where
>garbled characters in Tk widgets, too. The above line made
>it go away.
>
>
>>> I use the encoding pragma to present also non ASCII
>>> characters with Tk widgets. These characters are hexa 100
>
>
>You don't need "use encoding ..." (or "use utf8") for that.
>It's only needed when your script itself uses UTF8 characters
>(say, in literal strings).
>
>
>>> gets to Tk widget as basic latin, not utf-8.
>
>
>The problem in my case was even weirder: even ASCII characters
>were garbled in Tk widgets. The reason was that Encode::Unicode
>couldn't be loaded and Tk needs it internally to convert whatever your
>strings are encoded in to UCS2 which is used by the Windows
>display functions.
>
>Cheers, Roderich
>
>
--------------------------------------------------------------------------------
M. Nooning wrote:
>You don't need "use encoding ..." (or "use utf8") for that.
>It's only needed when your script itself uses UTF8 characters
>(say, in literal strings).
>
I had the same problem at one time. I was advised to put
use Encode::Unicode;
as the first line "use" in my program even though my program does not use it. I did, and the problem went away.
