git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Git-mediawiki : Encoding problems in perl

From
Matthieu Moy <matthieu.moy@grenoble-inp.fr>
Date
Jun 8, 2011, 15:58 UTC
Message-ID
<vpqtyc0wc1j.fsf@bauges.imag.fr>
In-Reply-To
<BANLkTi=DLZQM_jzove_g0wLy_zgBF6Z0Xw@mail.gmail.com>
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/
Previous: Jérémie NIKAESNext: Jérémie NIKAES
Message 7 of 20 in “Git-mediawiki : Encoding problems in perl”
  1. Jérémie NIKAESJun 8, 2011
  2. Steffen Daode NurpmesoJun 8, 2011
  3. Jeff KingJun 8, 2011
  4. Matthieu MoyJun 8, 2011
  5. Jeff KingJun 8, 2011
  6. Jérémie NIKAESJun 8, 2011
  7. Matthieu MoyJun 8, 2011
  8. Jérémie NIKAESJun 8, 2011
  9. Jeff KingJun 8, 2011
  10. Jérémie NIKAESJun 8, 2011
  11. Matthieu MoyJun 8, 2011
  12. Jérémie NIKAESJun 8, 2011
  13. Jakub NarebskiJun 8, 2011
  14. Matthieu MoyJun 8, 2011
  15. Jérémie NIKAESJun 8, 2011
  16. Matthieu MoyJun 8, 2011
  17. Jeff KingJun 8, 2011
  18. Jérémie NIKAESJun 8, 2011
  19. Jakub NarebskiJun 8, 2011
  20. Jérémie NIKAESJun 8, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.