Skip to content

Marc字符集培训知识 #1206

Description

@LIUMIN2024
本次会议主要讨论了数据记录和字符集处理的技术细节,包括中文和英文的Mark记录格式、字符集的定义和重要性,以及在导出数据时如何处理字符集和编码方式。会议强调了字符集在数据传输中的作用,以及在不同编码方式(如GB2312和UTF-8)下字符集的处理差异。同时,讨论了自动规整功能的使用和潜在问题,以及如何在培训中向用户解释这些技术细节。

在内务前端书目查询窗中,检索并调取一条书目记录到种册窗界面。中文和西文的记录长度信息记录在头标区中,由五位数字组成,记录长度对于程序员来说非常重要,因为它帮助程序员确定每条记录的长度,从而正确处理数据。注意记录长度不计算Marc数据实际长度,它类似于文件中的一个标识符,确保数据不会被错误地处理或合并。中文和西文的字符集信息存储的地方不同,西文格式的字符集信息存储在头标区第九位,仅用一个字符表示,中文格式的字符集信息则存储在Marc数据的100字段中,使用4位字符表示,这是不合理的,字符集信息应该统一存储在头标区中,但是伊芙拉设计unimarc小组把字符集信息设计存储到100字段中了,所以导致了这种现象的发生。
光标移动到100字段上,使用快捷键CTRL + M打开一个模板,该模板能看到100字段的内容到底是怎么构成的,26/4存储的是字符集信息,还有补充字符集,在这里先不赘述补充字符集。举个例子,有条Marc数据的100字段信息为:100 ǂa20090713d2009 em y0chiy0120 ea,“0120”就是这条数据的字符集信息,当记录导出到ISO2709的时候,这个字符集是应该发生变化的。为了便于观察,我们将“0120”改为“xxxx”,在书目查询窗中选择这条书目数据,点击右键,选择导出,选择导出到Marc(ISO2709)数据,在导出Marc窗,选择编码方式为UTF-8,不勾选自动规整100字段,不勾选删除997/998字段,不勾选任何选项,不选择脚本,导出Marc文件后,使用批处理-从Marc文件中导入,重新输入导出的ISO文件名,可以观察到100字段,第26个字符,字符集信息未发生改变,依旧是“xxxx”。当导出的Marc数据编码方式不变,勾选上自动规整100字段时候,“xxxx”会变为50##,系统在导出数据时,自动规整了100字段的字符集信息。如果选择的编码方式为GB2312,不勾选与勾选自动规整100字段时,第26个字符,字符集信息都不会发生改变,因为国际上未能统一标准,对于字符集必备信息是0110还是0120存在争论,所以未开发GB2312自动规整100字段必备字段信息功能。
另外,需要提醒用户在导出ISO2709文件时,尽量选择编码方式为UTF-8进行导出,因为导出GB2312编码方式时,会出现丢字符的情况,例如:欧洲法文语言里边,出现一个字母O上面打了两个点,导出GB2312编码方式的时候,这两个点会丢失,后续完善dp2系统,在导出GB2312编码方式时,出现丢失数据的情况会警告提示。以上为本次字符集培训内容知识。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions