How should I handle MARC::Batch and diacritics?

I am in the process of creating a rudimentary index to my home book
collection. The index features:

  * author, title, and subject browsable lists
  * search result sorts by author, title, year, and rank
  * preference settings
  * a search history
  * all the cool search functions of swish-e

  http://infomotions.com/books/

In order to get the MARC records for my "catalog" I have been searching the
LOC catalog, identifying the record I desire, and using Net::Z3950 to
download the desired record via the MARC 001 tag. Tastes great. Less
filling.

I then run a program of my own design looping through my MARC records,
extracting the necessary information, creating a set of rudimentary XHTML
files, and indexing the resulting data.

When I loop through my MARC records MARC::Batch sometimes warns that the
MARC leader is incorrect. This happens when the record contains a diacritic.
Specifically, my MARC::Batch object returns "Invalid record length..." I
have discovered that I can plow right through the record anyway by turning
on strict_off, but my resulting records get really ugly at the point of the
diacritic:

  http://infomotions.com/books/?cmd=search&query=id=russell-world-107149566

What am I doing wrong, or what can I do to parse my MARC records more
accurately?

-- 
Eric Lease Morgan

Reply via email to