[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