perl-unicode

Re: Layers Issue in SVN::Notify

2006-07-11 19:58:39
On Mon, Jul 10, 2006 at 11:57:52AM -0700, David Wheeler wrote:
Greetings fellow Perlers,

I've had some complaints for a while now about non-ASCII characters  
not properly showing up in emails sent by my SVN::Notify module. Last  
week Éric Cholet figured out how to get it to work: He simply set the  
LANG environment variable to fr_FR.ISO8859-1.

So the problem is the LANG environment variable. Setting it to 'C' in  
a BEGIN block doesn't work, either. But my sense is that it shouldn't  
make any difference what the environment is set to if I'm setting the  
IO layer on the file handle. Here is the code for creating the handle  
in SVN::Notify:

        # Child process. Execute the commands.
        exec @_ or die "Cannot exec $_[0]: $!\n";
        # Not reached.
    }
}

I'm using binmode to set the IO layer on the pipe both for reading  
and writing pipes, so I'd expect it to do the right thing vis-a-vis  
the localization without regard to the LANG environment variable  
(Éric had the io_layer attribute set to 'raw'). But obviously I'm  
wrong. Is there something I'm missing about when and/or where the IO  
layer should be set? Anyone run into something like this before?

I doubt that perl's at fault. What are you piping the data into, and
what does it think of $LANG in the environment?

Nicholas Clark

<Prev in Thread] Current Thread [Next in Thread>