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

Re: Git-mediawiki : Encoding problems in perl

From: Jakub Narebski <hidden>
Date: 2016-06-15 22:51:26

Jérémie NIKAES [off-list ref] writes:
While working on the git-mediawiki project[1], we ran into some
problems regarding utf8 encoding of files. Most of them have been
solved, however, one is still pretty annoying.
Let me illustrate it :

I want to edit a page on mediawiki using the API, with a very simple example :

my $mw = MediaWiki::API->new();
$mw->edit( {
        action => 'edit',
        title => 'Main_page',
        text => 'été',
} ) ;

But, when I look at the page on mediawiki, I see weird characters : été.
Take a look at

  http://stackoverflow.com/questions/6162484/why-does-modern-perl-avoid-utf-8-by-default

especially accepted answer.


In short (I don't agree with everything there, and not everything is
needed for all but extremal Unicode usage): if your script is written
using UTF-8 like in above examples, use

  use utf8;

If this is simplification, and this text comes from other file or is
result of output of some command, use

  use utf8::all;

or take a look what it does and put relevant parts in your script.
 
I tried text => encode_utf8('été') with no success.

This makes pushing changes from git to mediawiki buggy since pulling a
file with accentuated characters and pushing it right after changes
things on the wiki.

While googling (a lot), I found that utf8 was pretty tricky in perl...
The only thing that seems to solve things is a simple addition of 'use
encoding utf8' at the top of our script.
However
A) Adding this line requires that I remove 'use strict;'
  use encoding ':utf8';

or

  use encoding 'utf8';
B) I found some information about this pragma encoding and it seems to
be unadvised to use it
-- 
Jakub Narebski
Poland
ShadeHawk on #git
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help