diff --git a/m2m.pl b/m2m.pl index 2c170f2..c448061 100755 --- a/m2m.pl +++ b/m2m.pl @@ -19,8 +19,8 @@ my ($programme) = $0 =~ m|^(?:.*/)?(.+)|; -my $version = "2.1.0"; -my $dateModif = "21 Juillet 2017"; +my $version = "2.2.1"; +my $dateModif = "05 Octobre 2017"; # Variables my $destination = ""; @@ -76,13 +76,21 @@ # Paramètres de l'API ISTEX my $base = "https://api.istex.fr"; my $url = "$base/document/?q="; -my $req = $requete ? $requete : "*"; +my $req = "*"; my $out = "output=*"; my $size = 300; -if ( $req =~ / /o ) { - $req =~ s/ /+/go; +if ( $requete ) { + $req = decode_utf8($requete, Encode::FB_QUIET); + if ( $requete ) { + die "Erreur : La requête n'est pas en UTF-8\n"; + } + $req = propre($req); } + +#if ( $req =~ / /o ) { +# $req =~ s/ /+/go; +# } my $uri = "$url$req&$out&size=$size&scroll=167s"; # Variables concernant les documents @@ -340,6 +348,24 @@ } } +sub propre +{ +my $chaine = shift; + +# Vérification de jeu de caractères (doit être UTF-8) +if ( is_utf8($chaine, Encode::FB_QUIET) ) { + + # URLencodage + $chaine = uri_encode($chaine); + $chaine =~ s/&/%26/go; + + return $chaine; + } +else { + die "la chaîne de caractères \"$chaine\" n'est pas en UTF-8"; + } +} + sub pretty { my $valeur = shift;