[librecat-dev] Problem mit Encoding in PICA:Writer

Cornelius Amzar cornelius.amzar at bsz-bw.de
Fri Nov 24 13:29:50 CET 2017


Guten Tag,

ich benutze zwar kein LibreCat/Catmandu, aber die zugrunde liegenden 
Perl-Module. Herr Voß vom GBV meinte, dass ich hier Hilfe bekommen könnte.

Ich habe das Problem, dass Inhalte aus einer INI-Datei zwar richtig in 
die Konsole und auch in Dateien geschrieben werden, aber nicht wenn ich 
PICA::Writer einsetze.

Laut Herrn Voß liegt das daran, dass PICA::Writer intern mit Bytestrings 
arbeitet. Trotz zahlloser Versuche habe ich es nicht geschafft, diese 
Werte entsprechend an PICA::Writer zu übergeben. Finde dazu auch in der 
Dokumentation keine Hinweise, aber die scheint eh nicht so aktuell zu 
sein....

Sowohl die Perl-Dateien, als auch die Daten sind utf8 kodiert.

Ein Beispielskript finden Sie unten, die Testdaten sind im Anhang.

Wäre toll, wenn jemand eine Idee hat.

Viele Grüße,

Cornelius Amzar

#!/usr/bin/perl
#

use strict;
use utf8;
use warnings;
use feature qw(say);
use Config::IniFiles;

use PICA::Record;
use PICA::Writer;
use PICA::Field;

my $config = Config::IniFiles->new( -file => "tests/test.ini",
         -default => 'General');
my $writer =  PICA::Writer->new('tests/out.pica', format => 'normalized');
my $field =   new PICA::Field('021A');
my $record = new PICA::Record();

my $value = $config->val('General', 'param');
my $value2 = $config->val('General', 'param2');

# Ausgabe im Terminal klappt

say $value;
say $value2;

# Ausgabe in Datei klappt

open(my $fh, '>', output.txt');
say $fh $value;
close $fh;

# Ausgabe im PICA::Writer klappt nicht, Umlaute sind kaputt.

$field->add('a', $value);
$field->add('d', $value2);
$field->add('x', 'test');

$record->appendif($field);

$writer->write('', $record);
$writer->write('', $record);
$writer->end();

say "Pica file written";

-- 

Cornelius Amzar
Bibliotheksservice-Zentrum Baden-Württemberg (BSZ)
78457 Konstanz / Germany
E-Mail: cornelius.amzar at bsz-bw.de
http://www.bsz-bw.de

-------------- n�chster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://lists.uni-bielefeld.de/mailman2/unibi/public/librecat-dev/attachments/20171124/cc98687b/attachment.html>
-------------- n�chster Teil --------------
Ein Dateianhang mit Bin�rdaten wurde abgetrennt...
Dateiname   : test.ini
Dateityp    : application/x-wine-extension-ini
Dateigr��e  : 42 bytes
Beschreibung: nicht verf�gbar
URL         : <http://lists.uni-bielefeld.de/mailman2/unibi/public/librecat-dev/attachments/20171124/cc98687b/attachment.bin>


More information about the librecat-dev mailing list