From 574e641846ced2bec34276c9667eaefb0182fb7d Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Mon, 6 Jan 2014 13:43:29 +0100 Subject: Handle Umlauts in efa-m and EFA.pm --- Changelog | 5 +++++ bin/efa-m | 4 ++++ lib/Travel/Status/DE/EFA.pm | 4 ++-- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/Changelog b/Changelog index 24ac064..260ba6f 100644 --- a/Changelog +++ b/Changelog @@ -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 diff --git a/bin/efa-m b/bin/efa-m index a789058..b76061e 100755 --- a/bin/efa-m +++ b/bin/efa-m @@ -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{ ^ (? 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', -- cgit v1.2.3