Re: MARC::Charset

[email protected] (Ashley Sanders)
Newsgroups perl.perl4lib
Message-ID <[email protected]>
> Your MARC records appear to be encoded in MARC-8 as evidenced by "ergáo" in which the combining
> accent character comes before the character to be modified.  I.e. the byte string that displays as
> "ergáo" in your email would display as "ergò" (with a Latin small letter o with grave) in a MARC-8
> aware client.

I'd just like to relate my recent experiences of retrieving MARC21 
records through
various library Z39.50 servers. Put simply, you cannot trust the MARC 
leader character
9 to correctly indicate the character set used.

 From libraries that have set the leader to indicate the records are in 
the MARC-8 character
set, I have retrieved records encoded as Latin-1, UTF-8 and MARC-8.

 From libraries that set the leader to indicate Unicode, I get records 
in MARC-8
and UTF-8.

You also get encodings in MARC-8 records like \1EF6 to indicate a 
Unicode character.
I think &#12345; is now legal in MARC-8 now to indicate a Unicode 
character that isn't
in the MARC-8 repertoire.

So, basically, you either need prior knowledge about the actual 
character encoding
used, or you have to test. Testing for UTF-8 is fairly straightforward and a
long string of text (which admittedly you don't tend to get in MARC 
records) that
tests as UTF-8 is very unlikely to be anything else. Distinguishing 
Latin-1 from
MARC-8 is a bit more like guess work. As a test for MARC-8 I look for 
the common
combining diacritics followed by a vowel.

Regards,

Ashley.
-- 
Ashley Sanders               [email protected]
Copac http://copac.ac.uk A MIMAS Service funded by JISC
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.