早前,技工在道長主場留言提及Big5(大五碼)之事,豈料不慎被道長鳴謝。惶恐之餘,不禁想起一些前塵往事。77Please respect copyright.PENANA1roiVg3I7L
技工初接觸互聯網,是九十年代末、二十世紀初。當年瀏覽網頁,周不時遇到一項不便——亂碼。
個人網頁總是亂碼77Please respect copyright.PENANAiIYAJCPuDF
當年尚未流行社交媒體,而是流行製作個人網頁,有的是主題網站,有的是個人分享。由於多數中文網頁都是個人網頁,不論閱讀資訊,還是尋找素材,技工很多時都瀏覽這些個人網頁。可是,十之有三四,一登上這些網頁,瀏覽器總是把這些網站顯示成亂碼。
大公司、大機構的中文網頁通常都能夠正常顯示。可是,個人網頁製作者通常不是資訊科技專業人士,對文字編碼認識有限,或者不懂得在HTTP伺服器或HTML源碼上設定文字編碼。於是乎,網頁瀏覽器往往無法妥善顯示這些網頁。
幸而,當時的瀏覽器開發者清楚知道這個問題,明白瀏覽器無法百分百偵測網頁的文字編碼。故此,瀏覽器都會提供選單,讓使用者自行選擇編碼。
Big5為正體中文主流
電腦及互聯網發源於英語國家,美國早於六十年代已製定ASCII編碼,並逐漸成為世界各地的英文編碼標準。可是,ASCII編碼是七位元編碼,字集只有127個英文字母、標點符號以及控制字元,無法表示非英語文字。
台灣資訊科技業界因應其中文電算需要,於八十年代發展出「Big5」大五碼,用以表示正體中文。Big5是十六位元編碼,考慮到與ASCII相容問題,實際碼位只有二萬多個。其字集收錄了當地教育部字表一萬餘字,以及標點符號、希臘字母等符號,並預留造字區供使用者自訂字元。
香港人也用正體中文(稱「繁體字」),故此也跟隨台灣採用Big5。當年,無論作業系統中文介面,還是文書編輯器,都使用Big5作中文編碼。或者正因如此,主流網頁製作工具,例如Microsoft FrontPage、Macromedia Dreamweaver等都為中文使用者自動以Big5編碼輸出HTML檔案。然而,用戶可能會忽略在HTML源碼上標明Big5編碼,以致瀏覽器無法妥善偵測。可能也是瀏覽器設計關係,無法偵測時就會以西歐語言編碼解讀網頁。中文網頁亂碼因而成為常見之事。
日本網站也亂碼
後來,技工又聽聞日本麥當勞網站設有好玩的小遊戲,技工自然也前往該網窺探一二。既然是日本網站,自然是用日文寫成,對不?可是,一登上網站,顯示的不是漢字和假名,而是陌生且雜亂的歐洲字母。
人手選用Big5如何?也不行,只會顯示成混亂而罕見的中文字。
原來,世界各地的電腦業界都按自身語言製訂文子編碼。日本通用的編碼是Shift JIS,收錄假名、漢字、標點符號等,並與ASCII相容。
要瀏覽日本網站,當然要用日本人的編碼。如果要瀏覽其他外語的網站,也要用當地語言的編碼。有趣是有趣,但非常不便,相當頭痕。
那麼,Big5又能否為日文編碼?若然不能,中文文章豈不是無法引用日文字?須知道,港台人士也很熱愛日本文化!
也不是完全不能,只是也不方便。正宗的Big5沒有收錄日文字,但一些擴充版本編碼有收錄日文假名,方便港台人士在中文引用日文。可是,不同的Big5擴充編碼未必互相相容。一不小心,同為中文文章,也會出現亂碼。
Xanga缺乏編碼支援
不久,網誌平台興起。人們無須自力架設網站,只須到網誌平台註冊帳戶,就可以擁有一個網誌。其中,Xanga尤為香港年輕人至愛,年輕人紛紛利用Xanga發表文章,分享生活點滴,評論時事八掛,與朋友、網友交流。
早期,Xanga作為一所美國公司,似乎並未意識到外語使用者的重要,對於網站語言的國際化及本地化相當之落後,也對用戶供應內容的編碼缺乏支援。到後來設立地區版本首頁已經是很後期的事。
技工當年也在Xanga開設網誌。技工發現,Xanga並未為非英文網誌指定編碼。其結果是,網誌作者用什麼編碼遞交內容,訪客也就得用什麼編碼閱讀。
技工主要書寫中文,自然以大五碼Big5遞交內容。及後,因應須要使用香港字,改為用Big5-HKSCS,也就是收錄香港增補字符集的大五碼擴充編碼。
然而,技工只使用Big5發表網誌一段短時間,因為技工很快就認識到一種新編碼——UTF-8。
Unicode及UTF-8
原來,資訊科技業界早已意識到,文字字集局限於單一語言,以及編碼互不相容,對資訊交流與多語言應用帶來諸多不便。於是,業界在八十年代先後展開字集及編碼統一工作。經過多年奮鬥,終於在九十年代初發表Unicode字集標準,以及UTF-8編碼標準。自此,我們終於得到了一致的、多語言的字集及編碼。
當認識到Unicode及UTF-8,技工很快就明白,Unicode將會是互聯網的未來,決定盡量使用UTF-8編碼中文。技工還很有耐性地把每一篇網誌逐一重新編碼成UTF-8。如今還真無法理解,當年這種閒情逸緻何來。
當整個網誌轉換成UTF-8,技工馬上就遇上問題。不是技術問題,而是人的問題。不少來訪網誌的親朋戚友都在網誌下留下亂碼留言。把留言重新以Big5解讀,就知道他們說什麼——他們說,技工的網誌一遍亂碼!
原來,訪客們並不知道技工改用了UTF-8,瀏覽器也沒有自動偵測出新編碼。訪客們沿用Big5閱讀網誌,自然只看見亂碼。
是訪客們不知道Xanga的編碼問題和技巧?還是因為UTF-8尚未為人所認識?畢竟,技工也是Unicode標準初版十年以後才認識Unicode。看來,推廣Unicode及UTF-8,業界仍須努力。
數碼暴龍VCD屋的啟蒙
技工又從何得知Unicode及UTF-8呢?當年維基百科尚未誕生,技工又沒有門路認識業界資訊,技工如何學會用UTF-8?
答案是《數碼暴龍》。啊,應該說,是《數碼暴龍》的一個fansite——數碼暴龍VCD屋。
技工很喜歡《數碼暴龍》,因緣際會下技常瀏覽數碼暴龍VCD屋,流連其留言版及討論區,什至把同人小說向網主投稿。對,當時最先進的影片發佈技術是VCD。不,數碼暴龍VCD屋不是賣VCD的,只是VCD銷售總是比本地電視台更快更早,把最新的《數碼暴龍》動畫送到愛好者眼前,所以VCD屋就是從VCD獲悉最新劇情的意思。
網主雪熊是個技術力高強的前輩。雪熊深明Unicode乃大勢所趨,加上有顯示日文的實際需要,數碼暴龍VCD屋很早期已經全面採用UTF-8編碼。雪熊更在網頁的HTML源碼清楚標明使用UTF-8,好讓瀏覽器妥善偵測。
畢竟年代久遠,技工已忘卻當中具體,只記得關於Unicode及UTF-8的知識,起初就是從雪熊和數碼暴龍VCD屋獲得。估計是雪熊在網主日誌中提及,又或在留言板、討論區中談及。
多年後,技工有幸成為雪熊的學生,但那是後話了。
結語
那個年代,除了網頁會亂碼,本機應用程式也有語言編碼相容問題。各路高手針對此問題,開發了不少公用程式。pAppLocale緩解外語軟件亂碼問題,從外國下載的應用程式,全靠它才不至亂碼。櫻花輸入法除了是日文假名的輸入法,還是Big5環境下顯示日文的流行方案。在Big5與Unicode的過渡期間,還有Unicode補完計画。
時至今日,Unicode全球通行,亂碼已鮮再發生。而這段不值得回味的煩惱,也算是封塵的回憶。
Cover:77Please respect copyright.PENANA69TyIpi7kg
The UTF-8-encoded Japanese Wikipedia article for mojibake, as displayed in the Windows-1252 encoding. Licensed under CC BY-SA 4.0. Wikimedia Commons, 11 November 2011, https://commons.wikimedia.org/wiki/File:Mojibakevector.png. Accessed 30 June 2024.