don't try to decode records as iso-8859-1, read them as utf-8
authorDobrica Pavlinusic <dpavlin@rot13.org>
Wed, 6 May 2015 13:00:27 +0000 (15:00 +0200)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Wed, 6 May 2015 13:00:27 +0000 (15:00 +0200)
scripts/aleph2iso.pl

index 1e8ffcf..45e72e2 100755 (executable)
@@ -12,7 +12,7 @@ $dest .= '.iso';
 
 close(STDERR) unless $ENV{DEBUG};
 
-open(my $m21, '<', $source);
+open(my $m21, '<:encoding(utf-8)', $source);
 open(my $out, '>:encoding(utf-8)', $dest);
 
 warn "# convert $source => $dest\n";
@@ -33,6 +33,8 @@ while (<$m21>) {
        chomp;
        s/\xC2\x98/<</g;
        s/\xC2\x9C/>>/g;
+       s/\x98/<</g;
+       s/\x9C/>>/g;
        my ( $id, $rest ) = split(/\s/, $_, 2);
        my ( $fffii, $sf ) = split(/\s+L\s+/,$rest,2);
 
@@ -67,7 +69,8 @@ while (<$m21>) {
                my @f = ( $f, $i1, $i2 );
 
                while ( $sf =~ s/^\$\$(\w)([^\$]+)// ) {
-                       push @f, $1, decode('iso-8859-1', $2);
+#                      push @f, $1, decode('iso-8859-1', $2);
+                       push @f, $1, $2;
                }
                warn "### ",dump( @f );
                my $field;