All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matthieu Moy <Matthieu.Moy@grenoble-inp.fr>
To: "Jérémie NIKAES" <jeremie.nikaes@gmail.com>
Cc: Jeff King <peff@peff.net>, thomas@xteddy.org, git@vger.kernel.org
Subject: Re: Git-mediawiki : Encoding problems in perl
Date: Wed, 08 Jun 2011 17:58:00 +0200	[thread overview]
Message-ID: <vpqtyc0wc1j.fsf@bauges.imag.fr> (raw)
In-Reply-To: <BANLkTi=DLZQM_jzove_g0wLy_zgBF6Z0Xw@mail.gmail.com> ("Jérémie NIKAES"'s message of "Wed, 8 Jun 2011 17:46:08 +0200")

Jérémie NIKAES <jeremie.nikaes@gmail.com> writes:

> 2011/6/8 Matthieu Moy <Matthieu.Moy@grenoble-inp.fr>:
>
>> open(my $git, "-|:encoding(UTF-8)", "git cat-file -p $sha1");

there should probably have been a $/ = 1; or some other perl magic to
make sure we don't read only the first line there:

>> my $file_content = <$git>;
>> close($git);
>
> Yes, that did it ! Thank you boss :-)

Then, make it a helper function to call like

my $file_content = run_git("cat-file -p $sha1");

and use it where needed.

> Although, I'm still encountering issues regarding encoding file names
> though, I am going to look deeper now that i have this solution.

My advice, at least in the short-term (already discussed offline): use
urlencode ( http://php.net/manual/en/function.urlencode.php ) on pull,
and don't bother with encoding on push. Non-ascii characters in
filenames are a nightmare ...

If you go for utf8 filenames, you should test that your script works in
various environments, like

LANG=fr_FR.ISO-8859-1 xterm
(launch a terminal with latin-1 encoding inside)

and Mac OS X (which does some weird utf-8-normalization on filenames),
and probably windows (no idea how filename encoding works there).

If it doesn't work in one of them, you'll have to provide a fall-back to
plain ascii for these users, which will most likely be the short-term
solution I'm proposing.

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/

  reply	other threads:[~2011-06-08 15:59 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
2011-06-08 15:45     ` Jeff King
2011-06-08 15:46     ` Jérémie NIKAES
2011-06-08 15:58       ` Matthieu Moy [this message]
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=vpqtyc0wc1j.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.