Re: Git-mediawiki : Encoding problems in perl

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jeff King <peff@xxxxxxxx> writes:

> On Wed, Jun 08, 2011 at 03:45:43PM +0200, Jérémie NIKAES wrote:
>
>> my $mw = MediaWiki::API->new();
>> $mw->edit( {
>>         action => 'edit',
>>         title => 'Main_page',
>>         text => 'été',
>> } ) ;
>> [...]
[...]
>>From the "utf8" man page:
>
>   Do not use this pragma for anything else than telling Perl that your
>   script is written in UTF-8.
>
> which is what you are doing here,

Actually, this is what the example does, but this is not where the
original problem comes from. The code of git-remote-mediawiki contains
only us-ascii characters.

The actual code is:

    my $file_content = `git cat-file -p $sha1`;
    chomp($file_content);
    // ...
    $mw->edit( {
    	action => 'edit',
    	summary => $_[1],
    	title => $title,
    	text => $file_content,
    });

If the file is UTF-8 encoded, the page sent to the wiki is
double-utf8-encoded.

> That being said, this is probably just a small test case, and you are
> more likely to be reading the data from a file.

Oops, read this too late ;-).

> For file contents, you can use:
>
>   binmode($handle, ":utf8");
>
> to read everything in as utf8.

That's not exactly it, since we read the output of "git cat-file", not
an actual file.

But something along the lines of:

open(my $git, "-|:encoding(UTF-8)", "git cat-file -p $sha1");
my $file_content = <$git>;
close($git);

may do it.

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]