diff options
author | Daniel Friesel <derf@finalrewind.org> | 2014-01-06 13:43:29 +0100 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2014-01-06 13:43:29 +0100 |
commit | 574e641846ced2bec34276c9667eaefb0182fb7d (patch) | |
tree | e1eda8b574006bd6d2e2b692bcdc827681dfc043 | |
parent | 8502e801d50f66244a20f6a3561d4cf943d3bb77 (diff) |
Handle Umlauts in efa-m and EFA.pm
-rw-r--r-- | Changelog | 5 | ||||
-rwxr-xr-x | bin/efa-m | 4 | ||||
-rw-r--r-- | lib/Travel/Status/DE/EFA.pm | 4 |
3 files changed, 11 insertions, 2 deletions
@@ -1,3 +1,8 @@ +git HEAD + + * efa-m: Handle UTF8 in place/stop input + * Travel::Status::DE::EFA: Handle decoded input with umlauts + Travel::Status::DE::VRR 1.06 - Thu Jan 02 2014 * Add Travel::Status::DE::EFA module, move ::Result and ::Line to @@ -9,6 +9,7 @@ our $VERSION = '1.06'; binmode( STDOUT, ':encoding(utf-8)' ); +use Encode qw(decode); use Getopt::Long qw(:config no_ignore_case); use List::Util qw(max); use Travel::Status::DE::EFA; @@ -40,6 +41,9 @@ if ( @ARGV != 2 ) { my ( $place, $input ) = @ARGV; +$place = decode( 'UTF-8', $place ); +$input = decode( 'UTF-8', $input ); + if ( $input =~ s{ ^ (?<type> address|poi|stop) : }{}x ) { $input_type = $+{type}; } diff --git a/lib/Travel/Status/DE/EFA.pm b/lib/Travel/Status/DE/EFA.pm index fc6f0dc..a443c4e 100644 --- a/lib/Travel/Status/DE/EFA.pm +++ b/lib/Travel/Status/DE/EFA.pm @@ -84,11 +84,11 @@ sub new { mode => 'direct', nameInfo_dm => 'invalid', nameState_dm => 'empty', - name_dm => $opt{name}, + name_dm => encode( 'ISO-8859-15', $opt{name} ), outputFormat => 'XML', placeInfo_dm => 'invalid', placeState_dm => 'empty', - place_dm => $opt{place}, + place_dm => encode( 'ISO-8859-15', $opt{place} ), ptOptionsActive => '1', requestID => '0', reset => 'neue Anfrage', |