齊 凌
(浙江圖書館,浙江 杭州 310007)
信息技術的發展,改變了圖書館的傳統工作模式。以圖書館內部業務處理為核心的圖書館自動化系統已經成為圖書館業務發展的必然選擇。圖書館服務與圖書館自動化系統是密不可分的,圖書館要提供更好的服務需要有自動化系統的支持,而自動化系統的研發則基于圖書館服務的需求,二者相互促進,共同發展?;诜蘸桶l展的需要,浙江圖書館于 1998年 8月引進并開始使用美國 Innovative Interface公司的 INNOPAC圖書管理系統。整個系統包括流通、采訪、編目、期刊、Webopac等模塊。
在使用 INNOPAC的過程中,我們碰到了部分字符無法顯示的問題。1998年起始我們使用的是字符界面的版本 INNOPAC,當時系統的內碼使用的是 CCCII碼,字符集采用的是 GB字符集。由于GB字符集的字符數量比較少,只有 682個符號和6763個漢字,INNOPAC系統無法接受 GB字符集以外的其他字符,從其他數據庫套錄的數據也會因為這個原因有部分字符無法顯示。再加上老版本采用的是 Telnet的字符界面,操作性和可視性都不太強。因此我們在 2005年升級系統至 Millennium Silver 1.1,即新世紀銀版。新世紀銀版使用了 Unicode碼,采用 UTF-8編碼方式,以 GBK字符集為缺省中文字符集。但新世紀銀版的 Unicode表和 UTF-8表并沒有完整的收錄 GBK字符集中的所有字符,這就導致了系統升級到新世紀銀版后,系統的漢字仍舊存在問題,部分漢字的顯示仍舊出錯。之后 Innovative公司陸續推出升級版本,2007年又升級至 Millennium 2006版。這個版本對漢字的處理雖然有所改善,但仍有很多問題存在,系統的 Unicode表和 diac.gbk.unicode表仍然沒有能夠收錄全,部分簡體字和繁體字的對應關系沒有做好對應,仍存在部分漢字無法顯示的問題。特別是系統在 05年從字符模式升級到圖形界面時,系統內碼由 CCCII碼轉換到 UNICODE碼時出錯的數據,仍然大量存在于系統中。在 Millennium工作人員界面和 OPAC界面上檢索,幾乎沒有哪個頁面是不存在亂碼或內碼的問題。
漢字顯示問題不能完全解決,將影響系統各個業務環節的正常使用。首先采訪的查重會有問題,一旦遇到有問題的漢字,查重結果的準確性就得不到保證。同樣,問題也出現在編目模塊和流通模塊。再加上編目過程中很多漢字輸入后無法保存,這樣編目信息的準確性、完整性也得不到保證。流通模塊的讀者信息也同樣存在漢字問題,如果遇到不能顯示的漢字只能用拼音表示,這樣給工作人員和讀者都帶來不便。讀者使用OPAC進行相關檢索功能時,檢索結果的準確性會打折扣。
Millennium系統的漢字顯示問題并不單獨存在,大陸地區使用新世紀銀版的用戶,如清華大學圖書館、西安電子科技大學圖書館、華中科技大學圖書館等多家圖書館都存在類似的問題,各館也都在積極的尋求徹底解決問題的方法。
要解決字符顯示的問題,首先需要搞清楚系統中字符顯示出錯有哪些情況。對 Millennium系統字符問題進行了分析,字符顯示錯誤的情況主要有以下幾種:
(1)漢字顯示為異體字。這種情況漢字在系統中顯示的并非為我們常用的簡體字,而是對應的繁體字或是異體字。這種情況在系統中出現的頻率很高,而且很多字都是常用字,例如下表:

(2)漢字顯示為 EACC碼。這種情況系統中的漢字顯示為一串帶大括號的字符串,如:{213538}。出現這種情況的漢字一共有 90個,也有一部分為常用字。工作人員或者讀者在遇到這些字符串的時候往往無法分辨出對應的漢字,對系統應用帶來了很大不便。

(3)漢字顯示為亂碼。出現這個問題的漢字數量比較多,大部分都不是常用字,日常使用中很難發現,但帶來的后果是一樣的,工作人員和讀者無法正常檢索到該記錄。

(4)符號顯示為亂碼。這種情況與上述情況類似,不同點就在標點或者一些字符上,對檢索也會帶來不便。

(5)部分漢字和符號無法在 Millennium系統中保存。由于漢字和字符無法在系統中保存,導致讀者根本無法檢索到這些記錄,這對工作人員查重以及讀者檢索帶來很多問題。
(1)查找并修改系統中的錯誤字符。對比系統中的 diac.gbk.unicode表和標準的 UNICODE表,找出 diac.gbk.unicode表中缺少的字符,一共1734個漢字,符號 108個。把缺少的字符的 UNICODE碼提交給 Innovative公司,要求公司在 diac.gbk.unicode表中補全。
(2)查找出系統中存在的所有 EACC碼共 90個,把這 90個 EACC碼對應的中文字符及 UNICODE碼提交給 Innovative公司,要求公司修改 diac.gbk.unicode表中的 EACC碼為正確的 UNICODE碼。
(3)查找出顯示為異體字的漢字 38個,顯示亂碼的字符 242個。
(4)修改系統中的錯誤字符及方法。公司于2009年 3月底修改完 diac.gbk.unicode表。接著修正 Millennium系統中有問題的數據,包括讀者數據和書目數據。具體的修改方法是:通過資料檔抓出錯誤的讀者數據、書目數據,每個資料檔的數據不能超過 25000條,再利用全域更新,用正確的字符替代錯誤的字符。因為對系統數據進行全域更新會影響系統速度,對流通借還的影響比較大,借還書的速度很慢,借還數據不能及時更新。所以必須避開借還高峰期,利用下班以及周一閉館日進行數據修改。還有一點在做全域更新時要關注系統處理檔(transaction file)的大小,不能超出上限,否則在做全域更新的這個資料檔的所有數據會全部被鎖住,這些數據將不能進行任何操作。
從 2009年初開始修改至今,已經修改了 360余個漢字與符號,常用的漢字、符號基本修改完成。累計修改數據 3268314條(其中修改異體字2581111條,修改 EACC碼 272770條,修改亂碼數據 416707條)。目前在 Millennium工作人員界面和 OPAC界面上檢索,基本看不到明顯的亂碼或者異體字。漢字內碼問題的解決,提高了查重的準確性,避免了因漢字問題導致的數據無法檢索,提高 OPAC的檢索準確率。
〔1〕Innovative Guide& Reference Release 2006Rev.1.Innovative Interfaces,Inc.,2007