Jérémie NIKAES <jeremie.nikaes@xxxxxxxxx> writes: > Yes I tried uri_escape, but that only works in the direction mediawiki -> git. > A page named "Eté" on mediawiki comes as a Et%C3%A9.mw file on the repo. > However, when I try to send that file "Et%C3%A9" with the mediawiki > API, I get this error > > "Can't use an undefined value as a HASH reference at > /usr/local/share/perl/5.10.1/MediaWiki/API.pm line 554." > > So I tried to backslash the '%' but it does not do it... > Any idea ? Thanks OK, I know that's cheating, but reading the doc helped ;-) http://search.cpan.org/~exobuzz/MediaWiki-API-0.35/lib/MediaWiki/API.pm#MediaWiki::API-%3Eedit%28_$query_hashref,_$options_hashref_%29 The options hashref currently has one optional parameter (skip_encoding => 1). This is described above in the MediaWiki::API->api call documentation. which leads us to: MediaWiki's API uses UTF-8 and any 8 bit character string parameters are encoded automatically by the API call. If your parameters are already in UTF-8 this will be detected and the encoding will be skipped. If your parameters for some reason contain UTF-8 data but no UTF-8 flag is set (i.e. you did not use the "use utf8;" pragma) you should prevent re-encoding by passing an option skip_encoding => 1 in the $options_hash. In other words, Perl and MediaWiki::API use some black magic to detect UTF-8, and you want to disable it like this: $mw->edit( { action => 'edit', title => $title, text => $text, }, { skip_encoding => 1 } ) || die $mw->{error}->{code} . ': ' . $mw->{error}->{details}; Tried it, worked :-). This may well be an alternative solution to the earlier UTF-8 problem. -- Matthieu Moy http://www-verimag.imag.fr/~moy/ -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html