From: Matthieu Moy <Matthieu.Moy@grenoble-inp.fr>
To: Jeff King <peff@peff.net>
Cc: "Jérémie NIKAES" <jeremie.nikaes@gmail.com>,
thomas@xteddy.org, git@vger.kernel.org
Subject: Re: Git-mediawiki : Encoding problems in perl
Date: Wed, 08 Jun 2011 17:37:56 +0200 [thread overview]
Message-ID: <vpqhb8049m3.fsf@bauges.imag.fr> (raw)
In-Reply-To: <20110608150106.GB7805@sigill.intra.peff.net> (Jeff King's message of "Wed, 8 Jun 2011 11:01:06 -0400")
Jeff King <peff@peff.net> 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/
next prev parent reply other threads:[~2011-06-08 15:38 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-08 13:45 Git-mediawiki : Encoding problems in perl Jérémie NIKAES
2011-06-08 14:37 ` Steffen Daode Nurpmeso
2011-06-08 15:01 ` Jeff King
2011-06-08 15:37 ` Matthieu Moy [this message]
2011-06-08 15:45 ` Jeff King
2011-06-08 15:46 ` Jérémie NIKAES
2011-06-08 15:58 ` Matthieu Moy
2011-06-08 16:15 ` Jérémie NIKAES
2011-06-08 16:18 ` Jeff King
2011-06-08 16:26 ` Jérémie NIKAES
2011-06-08 16:27 ` Matthieu Moy
2011-06-08 16:30 ` Jérémie NIKAES
2011-06-08 17:07 ` Jakub Narebski
2011-06-08 17:11 ` Matthieu Moy
2011-06-08 18:03 ` Jérémie NIKAES
2011-06-08 18:20 ` Matthieu Moy
2011-06-08 21:51 ` Jeff King
2011-06-08 22:36 ` Jérémie NIKAES
2011-06-08 17:04 ` Jakub Narebski
2011-06-08 17:59 ` Jérémie NIKAES
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=vpqhb8049m3.fsf@bauges.imag.fr \
--to=matthieu.moy@grenoble-inp.fr \
--cc=git@vger.kernel.org \
--cc=jeremie.nikaes@gmail.com \
--cc=peff@peff.net \
--cc=thomas@xteddy.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.