MARC::File::XML UNIMARC Encoding Problem

[email protected] (Henri-Damien LAURENT)
Newsgroups perl.perl4lib
Message-ID <[email protected]>
Hi,
I have a problem with new_from_xml.
Here is my script :
            my $record;
            print $marcxml;
            $record= MARC::Record->new_from_xml($marcxml,"UTF8","UNIMARC");
            warn $record->as_xml;

Here is my data :
<?xml version="1.0" encoding="UTF-8"?>
<collection
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.loc.gov/MARC21/slim
http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd"
  xmlns="http://www.loc.gov/MARC21/slim">

<record>
  <leader>00743nac a22002171u 4500</leader>
  <controlfield tag="001">2</controlfield>
  <datafield tag="010" ind1=" " ind2=" ">
    <subfield code="a">2729843132</subfield>
    <subfield code="d">190 F</subfield>
  </datafield>
  <datafield tag="090" ind1=" " ind2=" ">
    <subfield code="9">1</subfield>
    <subfield code="a">1</subfield>
  </datafield>
  <datafield tag="100" ind1=" " ind2=" ">
    <subfield code="a">1995                y0frey5003    ba</subfield>
  </datafield>
  <datafield tag="101" ind1=" " ind2=" ">
    <subfield code="a">fre</subfield>
  </datafield>
  <datafield tag="105" ind1=" " ind2=" ">
    <subfield code="a">y       00  y</subfield>
  </datafield>
  <datafield tag="200" ind1="1" ind2=" ">
    <subfield code="a"></subfield>
    <subfield code="b">LIVR</subfield>
    <subfield code="f">Jean-Pierre DELMAS</subfield>
  </datafield>
  <datafield tag="210" ind1=" " ind2=" ">
    <subfield code="5">Edition Marketing</subfield>
    <subfield code="a">Paris</subfield>
    <subfield code="c">Edition Marketing</subfield>
    <subfield code="d">1993</subfield>
  </datafield>
  <datafield tag="215" ind1=" " ind2=" ">
    <subfield code="a">316 p</subfield>
  </datafield>
  <datafield tag="225" ind1=" " ind2=" ">
    <subfield code="a"></subfield>
  </datafield>
  <datafield tag="410" ind1=" " ind2=" ">
    <subfield code="t">Collection Pedagogique de
Telecommunication</subfield>
  </datafield>
  <datafield tag="606" ind1=" " ind2=" ">
    <subfield code="9">3339</subfield>
    <subfield code="9">3321</subfield>
    <subfield code="a">MATHEMATIQUES</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="9">6659</subfield>
    <subfield code="a">DELMAS, Jean-Pierre</subfield>
  </datafield>
  <datafield tag="995" ind1=" " ind2=" ">
    <subfield code="b">CDI</subfield>
    <subfield code="c">CDI</subfield>
    <subfield code="e">SL</subfield>
    <subfield code="f">Non inventorie</subfield>
    <subfield code="j">000498</subfield>
    <subfield code="o">2</subfield>
    <subfield code="9">1</subfield>
  </datafield>
  <datafield tag="995" ind1=" " ind2=" ">
    <subfield code="b">CDI</subfield>
    <subfield code="c">CDI</subfield>
    <subfield code="e">SL</subfield>
    <subfield code="f">Non inventorie</subfield>
    <subfield code="j">005643</subfield>
    <subfield code="o">2</subfield>
    <subfield code="9">2</subfield>
  </datafield>
  <datafield tag="995" ind1=" " ind2=" ">
    <subfield code="b">CDI</subfield>
    <subfield code="c">CDI</subfield>
    <subfield code="e">SL</subfield>
    <subfield code="f">Non inventorie</subfield>
    <subfield code="j">000527</subfield>
    <subfield code="o">2</subfield>
    <subfield code="9">3</subfield>
  </datafield>
</record>

</collection>
And I get this as a result :
<?xml version="1.0" encoding="UTF-8"?>
<record
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/
standards/marcxml/schema/MARC21slim.xsd"
  xmlns="http://www.loc.gov/MARC21/slim">

  <leader>00964nac  22002531u 4500</leader>
  <controlfield tag="001">4</controlfield>
  <datafield tag="010" ind1=" " ind2=" ">
    <subfield code="a">2729600299</subfield>
    <subfield code="d">164 F</subfield>
  </datafield>
  <datafield tag="090" ind1=" " ind2=" ">
    <subfield code="9">2</subfield>
    <subfield code="a">2</subfield>
  </datafield>
  <datafield tag="100" ind1=" " ind2=" ">
    <subfield code="a">1995                y0frey5003    ba</subfield>
  </datafield>
  <datafield tag="101" ind1=" " ind2=" ">
    <subfield code="a">fre</subfield>
  </datafield>
  <datafield tag="105" ind1=" " ind2=" ">
    <subfield code="a">y       00  y</subfield>
  </datafield>
  <datafield tag="200" ind1=" " ind2=" ">
    <subfield code="b">LIVR</subfield>
    <subfield code="a">Le cours de physique de Feynman</subfield>
    <subfield code="e">Electromagn�tisme 2</subfield>
    <subfield code="f">Richard FEYNMAN</subfield>
    <subfield code="g">Robert LEIGHTON</subfield>
    <subfield code="h">Tome 2</subfield>
  </datafield>
  <datafield tag="210" ind1=" " ind2=" ">
    <subfield code="5">InterEditions</subfield>
    <subfield code="a">Paris</subfield>
    <subfield code="c">InterEditions</subfield>
    <subfield code="d">1992</subfield>
  </datafield>
  <datafield tag="215" ind1=" " ind2=" ">
    <subfield code="a">415 p</subfield>
  </datafield>
  <datafield tag="606" ind1=" " ind2=" ">
    <subfield code="9">3341</subfield>
    <subfield code="9">3322</subfield>
    <subfield code="a">ELECTROMAGNETISME</subfield>
  </datafield>
  <datafield tag="606" ind1=" " ind2=" ">
    <subfield code="9">3340</subfield>
    <subfield code="9">3323</subfield>
    <subfield code="a">PHYSIQUE</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="9">6660</subfield>
    <subfield code="a">FEYNMAN, Richard</subfield>
  </datafield>
  <datafield tag="701" ind1=" " ind2=" ">
    <subfield code="9">6661</subfield>
    <subfield code="a">LEIGHTON, Robert</subfield>
  </datafield>
  <datafield tag="990" ind1=" " ind2=" ">
    <subfield code="a">P 1.5 FEY</subfield>
    <subfield code="e">Physique (Mauve)</subfield>
  </datafield>
  <datafield tag="995" ind1=" " ind2=" ">
    <subfield code="b">CDI</subfield>
    <subfield code="c">CDI</subfield>
    <subfield code="e">SL</subfield>
    <subfield code="f">Inventori� en juin 2004</subfield>
    <subfield code="j">002470</subfield>
    <subfield code="k">P 1.5 FEY</subfield>
    <subfield code="o">0</subfield>
    <subfield code="9">4</subfield>
  </datafield>
  <datafield tag="995" ind1=" " ind2=" ">
    <subfield code="b">CDI</subfield>
    <subfield code="c">CDI</subfield>
    <subfield code="e">SL</subfield>
    <subfield code="f">Inventori� en juin 2004</subfield>
    <subfield code="j">000630</subfield>
    <subfield code="k">P 1.5 FEY</subfield>
    <subfield code="o">0</subfield>
    <subfield code="9">5</subfield>
  </datafield>
  <datafield tag="995" ind1=" " ind2=" ">
    <subfield code="b">CDI</subfield>
    <subfield code="c">CDI</subfield>
    <subfield code="e">SL</subfield>
    <subfield code="f">Non inventorie</subfield>
    <subfield code="j">002469</subfield>
    <subfield code="o">2</subfield>
    <subfield code="9">6</subfield>
  </datafield>
  <datafield tag="995" ind1=" " ind2=" ">
    <subfield code="b">CDI</subfield>
    <subfield code="c">CDI</subfield>
    <subfield code="e">SL</subfield>
    <subfield code="f">Non inventorie</subfield>
    <subfield code="j">002473</subfield>
    <subfield code="o">2</subfield>
    <subfield code="9">7</subfield>
  </datafield>
  <datafield tag="995" ind1=" " ind2=" ">
    <subfield code="b">CDI</subfield>
    <subfield code="c">CDI</subfield>
    <subfield code="e">SL</subfield>
    <subfield code="f">INVENTAIRE 6 FAIT LE 29.07.03</subfield>
    <subfield code="j">002931</subfield>
    <subfield code="k">P 1.5 FEY</subfield>
    <subfield code="o">0</subfield>
    <subfield code="9">8</subfield>
  </datafield>
</record>
encodind=UTF8 format=UNIMARC at
/usr/lib/perl5/site_perl/5.8.8/MARC/File/XML.pm line 445.
not' utf8 at /usr/lib/perl5/site_perl/5.8.8/MARC/File/XML.pm line 317.
no mapping found for [0xBF] at position 12 in Electromagn�tisme 2
g0=ASCII_DEFAULT g1=EXTENDED_LATIN at
/usr/lib/perl5/site_perl/5.8.8/MARC/Charset.pm line 210.
no mapping found for [0xBF] at position 10 in Inventori� en juin 2004
g0=ASCII_DEFAULT g1=EXTENDED_LATIN at
/usr/lib/perl5/site_perl/5.8.8/MARC/Charset.pm line 210.
no mapping found for [0xBF] at position 10 in Inventori� en juin 2004
g0=ASCII_DEFAULT g1=EXTENDED_LATIN at
/usr/lib/perl5/site_perl/5.8.8/MARC/Charset.pm line 210.


Record is utf8 encoded, UNIMARC.
There is 100$a subfield that contains 50 on position 26.
But record is double encoded.
Can you help ?

-- 
Henri Damien LAURENT et Paul POULAIN 
Consultants indépendants 
en logiciels libres et bibliothéconomie (http://www.koha-fr.org)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.