Skip to Content

漢字

PHP 使用正規表示式判斷 UTF8 的漢字

 

需要用 PHP 來判斷一個字串中是否有 UTF8 漢字的正規表示式 (regular expression),不需要包含全部的漢字,只要是常用的漢字即可 (Unicode U+4E00 至 U+9FA5)。很多資料都說就是用 "/[\u4e00-\u9fa5]/" 即可判斷一個漢字,但試了底下的程式卻無法運作。
 
if (preg_match("/[\u4e00-\u9fa5]/", $string)) { ... }
 
到處找資料後,才知道要用底下的方法才行,也就是要用 \x{....} 來表示,而且要加上 /u 參數。
 
if (preg_match("/[\x{4e00}-\x{9fa5}]/u", $string)) { ... }
 

BIG-5碼使用範圍表

本圖是用在底下的文章中

BIG-5碼介紹 (http://heavenchou.buddhason.org/node/23)

本圖原始出處:全字庫 http://www.cns11643.gov.tw/AIDB/encodings.do

BIG-5碼使用範圍表

BIG-5碼介紹

1.簡介

BIG-5碼,係由資策會於1984年策劃制定,宗旨原是儘量不使用到控制碼範圍,並配合國人自制的五大(BIG-5)套裝軟體。由於委託民間設計,導致初期的BIG-5碼並不能使用五大套裝軟體。雖然如此,市面上絕大多數的套裝軟體都是在BIG-5內碼系統發展出來的,因此目前市面上有2-3個BIG-5碼版本,對使用者來說很難明白其中差異,所以在2003年由財團法人中文數位化技術推廣基金會接受經濟部標準檢驗局委託,召集國內業者代表、專家和學者,就BIG-5編碼字元表原始版本和各主要業界版本予以重整之最新版本,其排列規則說明如下:

2.BIG-5碼的字集
BIG-5碼系統為兩位元組之內碼系統,共可定義19782個字碼,其高、低位元組的範圍如下:

異體字表的研究

漢字是許多學問的基礎,在研究漢文佛典的領域也是如此。因為漢文佛典都是古文,因此有不少漢字上的資料要特別研究,漢字可研究的範圍有很多,例如字典相關資料整理、漢字在各國漢文字集的轉換(例如 big5 碼換成 JIS 碼)、繁體簡體互換……等等,而目前正在研究的問題就是「異體字」。

「異體字」目前主要是為了全文檢索的需求而研究,因為漢字一字多形的異體字情況不少,在佛典中混用的情況也很多,例如「饑」與「飢」,二者在某方面可視為異體字,這二字音同義近,二者可能都出現在佛典中,可能有些佛典寫「饑餓」,有些則寫「飢餓」,若使用者想同時找到這二者而不會錯過另一半,異體字表的建立就是第一步工作。

饑的解釋: http://140.111.1.40/yitia/fra/fra04612.htm
飢的解釋: http://140.111.1.40/yitia/fra/fra04582.htm

訂閱文章


about seo