Thread Übergabe von Worten mit Umlaut an Perl-Script unter Windows7 (5 answers)
Opened by jan99 at 2012-09-21 14:37

jan99
 2012-09-21 14:37
#161976 #161976
User since
2008-09-18
439 Artikel
BenutzerIn
[default_avatar]
Hi !

ich arbeite auf Win7 mit ActivePerl und habe folgende Aufstellung:

Es soll mit dem aufrufende Batch-File eine Parameter mit Umlaut übergeben werden.

Es kommt aber immer nur

Code: (dl )
....php?title=L++beck/Spielpl+�tze&action=edit 


an.

Soll wäre aber folgende gewesen:

Code: (dl )
.php?title=Lübeck/Spielplätze&action=edit


In der aufrufenden Batch steht:

Quote
perl split_wiki_table.pl --url=Lübeck/Spielplätze


Der Perl-Source ist:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/usr/bin/perl

use Getopt::Long;
use strict;
use warnings;
use LWP::UserAgent;
use HTML::TreeBuilder;
use Data::Dumper;
use utf8;
use Encode;
use Log::File;

my $go_Help       = 0;    # Hilfe erwuenscht
my $textbox       = '';   

my %config=(
    wiki_table_url=>'',
        textbox=>'',
        output=>'',
        logstatus=>1,
        logfile_name=>'myLogfile.log',
);
 
my $log=Log::File->open($config{logfile_name});
$log->log($config{logstatus});
 
# Ausgabe auf UTF-8 zwingen:
binmode(STDOUT,':encoding(UTF-8)');
# ist nicht umbedingt nötig, aber besser vorsichtg. :-)

GetOptions
(  
  "help!"      => \$go_Help,
  "textbox=s"  => sub{ $config{textbox}='wpTextbox1'; },
  "url=s"      => \$config{wiki_table_url},
  "output=s"   => \$config{output},
) or Usage();

Usage() if( $go_Help );     # Hilfe wenn erwuenscht

# Konvertieren der URL wegen möglicher Umlaute
print "URL alt: ".$config{wiki_table_url}."\n";
$config{wiki_table_url}=decode('UTF-8', $config{wiki_table_url});
print "URL: ".$config{wiki_table_url}."\n";

if ($config{wiki_table_url} eq '') {
  print "++ keine Tabellen URL angegeben !!! ++\n";
  exit ();
}

my $url = "http://wiki.openstreetmap.org/w/index.php?title=".$config{wiki_table_url}."&action=edit";

print "URL fertig: ".$url."\n";
$log->write("URL fertig: ".$url);


$log->write ist ein gleiches log-Tool von mir lokal.

Kann mir einer sagen wie ich das Ü und ä hinbekomme.

Gruß Jan :-)

modedit Editiert von pq: code-tags statt quote-tags
Last edited: 2012-09-21 14:42:28 +0200 (CEST)
perl-Greenhorn - Win7 64bit / strawberry (ehem. activeperl) - www.OpenStreetMap.de

View full thread Übergabe von Worten mit Umlaut an Perl-Script unter Windows7