On Tue, Jan 04, 2005 at 02:20:55PM -0500, Jackie Shieh wrote:
> MARC::Field->new('710','2','', a=>'Bibliotheque nationale de france.')
>                                            ^

I'm assuming that you want a combining acute on the e, and that you want to 
encode with MARC-8 since UTF-8 in MARC data hasn't hit the mainstream yet...
eventhough I've heard OCLC is converting all their MARC data to UTF-8.

This is kind of a pain, but here's how you could do it. You need to
escape to ExtendedLatin, add the combining acute, escape back to 
BasicLatin, and then put the 'e'. Or in code:

    # building blocks for escaping G0 to ExtendedLatin and
    # back to BasicLatin, details at: 
    # http://www.loc.gov/marc/specifications/speccharmarc8.html
    $escapeToExtendedLatin = chr(0x1B).chr(0x28).chr(0x21).chr(0x45);
    $escapeToBasicLatin = chr(0x1B).chr(0x28).chr(0x52); 

    # acute in the G0 register is chr(0x62) from the table at:
    # http://lcweb2.loc.gov/cocoon/codetables/45.html
    $acute = $escapeToExtendedLatin.chr(0x62).$escapeToBasicLatin;

    # now make the field
    $field = MARC::Field->new( '710', '2', '', 
        a => 'Biblioth'.$acute.'eque nationale de france.' );

This is long because I wanted to explain what was going on...I imagine
it could be compressed nicely...maybe

Please give this a try on one record and make sure your catalog displays
it properly before doing anything drastic to your data. Like I needed
to mention that :-)

//Ed

Reply via email to