Thread (5 messages) flat view 5 messages, 4 authors, 2016-06-15

Re: Git-mediawiki : Encoding problems in perl

From: Matthieu Moy <hidden>
Date: 2016-06-15 22:51:26

Jérémie NIKAES [off-list ref] writes:
2011/6/8 Matthieu Moy [off-list ref]:
quoted
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:
quoted
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/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help