CHUYN MÃ D LIU SANG BNG
MÃ TING VIT UNICODE
I.- ĐẶT VẤN Đ :
Theo quy định ca Chính ph, t ngày 01/01/2003, tt c các thông tin tiếng Việt trao đổi
trên mạng thông tin đu phi s dng bng mã Tiếng Vit Unicode.
Hin nay trên thtrường đã xut hin nhiu công c chuyn đáp ứng được yêu cu
chuyn văn bn (Text) siêu văn bản (Hyper Text) t c bng mã Tiếng Vit thông dụng như
VNI, ABC, ... sang Unicode hiu qu ktt. Ngoài ra, trong b Vietkey 2000 cũng đã cung
cp kiu cho bng mã Tiếng Vit Unicode. Tuy nhiên v CSDL thì vic chuyn mã s chm
đến nhng vấn đ phc tạp hơn. Chúng tôi đã gii quyết yêu cu này bng một cách đơn giản
ít tn kém s dng mt hàm chuyn mã. Ch cn bsung hàm này vào chương trình qun
CSDL (môi trường Foxpro), khi đó các lệnh xut ra file văn bản phi được "lc" qua hàm này đ
văn bản xut ra theo Unicode. Vi cách gii quyết như vậy, ta không cn phi chuyn
CSDL và viết lại chương trình phn mm.
II.- CHƯƠNG TRÌNH NGUN CA HÀM CHUYN MÃ :
Chúng tôi đặt n hàm BKTOUNI, u trong file n BKTOUNI.PRG. Ni dung file
y nsau : (nếu son trên Windword, bn chn font .VnTime, ri Save vi dng Text Only).
FUNC BKTOUNI
PARA CHUOI
PRIVATE ALL
SET TALK OFF
CHUOI1=ALLTRIM(CHUOI)
CHUOI2=""
DAI=LEN(CHUOI1)
FOR I=1 to DAI
BK=SUBS(CHUOI1,I,1)
DO CASE
CASE BK="¸"
UNI="á"
CASE BK="µ"
UNI="à"
CASE BK="¶"
UNI="ả"
CASE BK="
UNI="ã"
CASE BK="¹"
UNI="ạ"
CASE BK="¨"
UNI="ă"
CASE BK=""
UNI="ấ"
CASE BK="
UNI="ầ"
CASE BK=""
UNI="ẩ"
CASE BK=""
UNI="ẫ"
CASE BK=""
UNI="ậ"
CASE BK="
UNI="â"
CASE BK="
UNI="ắ"
CASE BK="»"
UNI="ằ"
CASE BK="¼"
UNI="ẳ"
CASE BK="½"
UNI="ẵ"
CASE BK=""
UNI="ặ"
CASE BK="Ð"
UNI="é"
CASE BK="Ì"
UNI="è"
CASE BK=""
UNI="ẻ"
CASE BK=""
UNI="ẽ"
CASE BK="
UNI="ẹ"
CASE BK="ª"
UNI="ê"
CASE BK=""
UNI="ế"
CASE BK=""
UNI="ề"
CASE BK="Ĩ"
UNI="ể"
CASE BK="Ơ"
UNI="ễ"
CASE BK="Ư"
UNI="ệ"
CASE BK="Ý"
UNI="í"
CASE BK="
UNI="ì"
CASE BK=""
UNI="ỉ"
CASE BK=""
UNI="ĩ"
CASE BK="Þ"
UNI="ị"
CASE BK=""
UNI="ó"
CASE BK="ß"
UNI="ò"
CASE BK=""
UNI="ỏ"
CASE BK=""
UNI="õ"
CASE BK=""
UNI="ọ"
CASE BK="«"
UNI="ô"
CASE BK=""
UNI="ố"
CASE BK=""
UNI="ồ"
CASE BK=""
UNI="ổ"
CASE BK="ç"
UNI="ỗ"
CASE BK=""
UNI="ộ"
CASE BK="
UNI="ơ"