Cắt bỏ dấu tiếng Việt

  • Thread starter FOV2
  • Ngày gửi
F

FOV2

Guest
30/5/05
23
0
1
53
HCMC
Các cao thủ ơi cho hỏi tí: Có cách nào cắt bỏ dấu trong tiếng Vịêt không ?
VD: Kế toán => Ke toan.

Cám ơn trước.
Xin lượng thứ nếu câu hỏi hơi bị ngu.
 
Sửa lần cuối:
Khóa học Quản trị dòng tiền
DucThuan

DucThuan

Tè lè ra rồi !
4/12/04
173
4
18
Đầu đường xó chợ
FOV2 nói:
Các cao thủ ơi cho hỏi tí: Có cách nào cắt bỏ dấu trong tiếng Vịêt không ?
VD: Kế toán => Ke toan.

Cám ơn trước.
Xin lượng thứ nếu câu hỏi hơi bị ngu.

Trời, tui cũng mới biết nè.
Anh/chị gì đó, thử làm vầy đi:
1. Quét vùng cần bỏ dấu. Sau đó Copy (Ctrl+C)
2. Dưới góc phải màn hình có hình chữ "V" (biểu tượng của Unikey), click chuột phải, - chọn "Công cụ.." (CS+F6), hộp Unikey Toolkit mở ra. Bạn chọn mã nguồn (thí dụ bạn đánh font Unicode) nguồn sẽ là Unicode, sau đó chọn mã đích. Bên phải có phần lựa chọn bạn đánh dấu chọn "Loại bỏ dấu" (Thêm các tùy chọn khác nếu muốn).
Xong click "Chuyển mã" dưới góc trái, sau đó click "Đóng".
3. Past (Ctrl+V).
Lúc này thay đổi font tùy thích (vì không còn dấu nữa mà).
Chúc thành công/
Nếu cần bạn liên hệ với tui - tsf264@gmail.com
 
gnurtel

gnurtel

Guest
Có một phần mềm nữa cũng cho phép bạn loại bỏ dấu cũng như điền dấu thêm vào, chẳng hạn:
Kế toán quản trị -> Ke toan quan tri
Ke toan quan tri -> Kế toán quẫn trí

Đó là Vietpad bạn có thể download tại ĐÂY
 
T

the7habitsman

Guest
10/9/05
89
0
0
Hà nội
Đây là code cũ lâu lắm rồi, đoạn này chuyển từ chuỗi có dấu (mã TCVN3) sang chuỗi không dấu. (Bạn có thể sáng tạo, làm cho VNI, Unicode,... nhé)

Public Function TCVN3ToVNWithoutMark(ByVal strTCVN3 As String) As String
'******************************************************************************
'* *
'* Name: TCVN3ToVNWithoutMark *
'* *
'* Purpose: Convert string in TCVN3 format to vietnamese string without mark *
'* *
'* Returns: Vietnamese string without mark *
'* *
'******************************************************************************

On Error GoTo TCVN3ToVNWithoutMark_Error
Const strTCVN3Vowels = "¸µ¹¶·©ÊÇËÈÉ¢¨¾»Æ¼½¡®§ÐÌÑÎϪÕÒÖÓÔ£ãßäáâ«èåéæ礬íêîëì¥óïñòô­øõùö÷¦Ý×ÞØÜýúþûü"
Const strVNWithoutMarkVowels = "aaaaaaaaaaaAaaaaaaAdDeeeeeeeeeeeEooooooooooooOoooooooOuuuuuuuuuuuUiiiiiyyyyy"

Dim lngVowelPosition&, i&
Dim strTemp As String

strTemp = Trim$(strTCVN3)

If Len(strTemp) = 0 Then
GoTo TCVN3ToVNWithoutMark_Done
End If

'// Convert TCVN3 string to Vietnamese string without mark
For i = 1 To Len(strTemp)
lngVowelPosition = InStr(1, strTCVN3Vowels, mID$(strTemp, i, 1), vbBinaryCompare)
If lngVowelPosition <> 0 Then
strTemp = left$(strTemp, i - 1) & mID$(strVNWithoutMarkVowels, lngVowelPosition, 1) & mID$(strTemp, i + 1)
End If
Next

'// Return vietnamese string without mark
TCVN3ToVNWithoutMark = strTemp

TCVN3ToVNWithoutMark_Done:
Exit Function

TCVN3ToVNWithoutMark_Error:
Resume TCVN3ToVNWithoutMark_Done
End Function

P/S: Ủa, mọi người hỏi cách viết code hay là làm thế nào để bỏ dấu (bằng mọi cách, kể cả bằng tools khác đấy?). Code của tớ post lên đây mất hết mấy dòng thụt ra thụt vô rồi :). Xấu quá!!!
 
Sửa lần cuối:
T

the7habitsman

Guest
10/9/05
89
0
0
Hà nội
Thực ra viết như thế này chưa phải là tối ưu vì cứ mỗi vòng for nó lại tính lại Len(strTemp) 1 lần làm cho vòng for chậm đi 1 chút :)
For i = 1 To Len(strTemp)
...
Next

Đáng ra phải viết

Dim l&

l = Len(strTemp)

For i = 1 To l
....
Next

mới "xịn"
 
F

FOV2

Guest
30/5/05
23
0
1
53
HCMC
the7habitsman nói:
Đây là code cũ lâu lắm rồi, đoạn này chuyển từ chuỗi có dấu (mã TCVN3) sang chuỗi không dấu. (Bạn có thể sáng tạo, làm cho VNI, Unicode,... nhé)

P/S: Ủa, mọi người hỏi cách viết code hay là làm thế nào để bỏ dấu (bằng mọi cách, kể cả bằng tools khác đấy?). Code của tớ post lên đây mất hết mấy dòng thụt ra thụt vô rồi :). Xấu quá!!!

1. Mình mù tịt về mấy cái vụ lập trình nên không thể nào sáng hay tối tạo gì được. Dự định tham dự lớp học của bác Duyệt béo tổ chức để cải thiện chút ít. (Mình đang sử dụng mã: VNI Win)

2. Mục đích của việc cắt bỏ dấu: Mình cần gởi danh sách khách hàng trong nước cho phía nước ngoài nên mới cần bỏ dấu.

Cám ơn các bạn đã quan tâm.
 
W

workman

Guest
22/7/05
372
2
0
51
Ho Chi Minh
FOV2 nói:
1. Mình mù tịt về mấy cái vụ lập trình nên không thể nào sáng hay tối tạo gì được. Dự định tham dự lớp học của bác Duyệt béo tổ chức để cải thiện chút ít. (Mình đang sử dụng mã: VNI Win)

2. Mục đích của việc cắt bỏ dấu: Mình cần gởi danh sách khách hàng trong nước cho phía nước ngoài nên mới cần bỏ dấu.

Cám ơn các bạn đã quan tâm.
Dễ ợt. Bạn dùng Unikey nhé.
Sau khi cài đặt bạn làm như thế này:

1. Copy vùng cần bỏ dấu (tô sáng vùng cần bỏ dấu rồi nhấn Ctrl + C)
2. Bấm tổ hợp: Ctrl + Shift + F6.
3. Chọn ô "Loại bỏ dấu".
4. Chọn ô "Chuyển mã clipboard"
5. Click vào nút "Chuyển mã"
6. Quay lại Word hay Excel, nhấn Ctrl + V.

Thế là xong. Dưới đây là ví dụ tôi làm:

FOV2 nói:
1. Minh mu tit ve may cai vu lap trinh nen khong the nao sang hay toi tao gi duoc. Du dinh tham du lop hoc cua bac Duyet beo to chuc de cai thien chut it. (Minh dang su dung ma: VNI Win)

2. Muc dich cua viec cat bo dau: Minh can goi danh sach khach hang trong nuoc cho phia nuoc ngoai nen moi can bo dau.

Cam on cac ban da quan tam.
De ot. Ban dung Unikey nhe.
Sau khi cai dat ban lam nhu the nay:

1. Copy vung can bo dau (to sang vung can bo dau roi nhan Ctrl + C)
2. Bam to hop: Ctrl + Shift + F6.
3. Chon o "Loai bo dau".
4. Chon o "Chuyen ma clipboard"
5. Click vao nut "Chuyen ma"
6. Quay lai Word hay Excel, nhan Ctrl + V.

The la xong. Duoi day la vi du toi lam:
 
D

duyennt

Trung cấp
14/7/05
94
0
6
Bình Dương
Tôi thì không biết gì về VB cả, chỉ biết ứng dụng thôi, nên cách của bạn Workman làm tôi thấy ưng ý thật. Nhưng mà Unikey phải từ phiên bản 3.6 trở lên mới có chức năng lọai bỏ dấu đấy! Cảm ơn các cao thủ đã post bài để chúng tôi - những người ứng dụng vào công viêc của mình. Thanksssss!
 
F

FOV2

Guest
30/5/05
23
0
1
53
HCMC
Thành công rồi !!!!!!!!!!

Cám ơn tất cả nhé.
 
T

the7habitsman

Guest
10/9/05
89
0
0
Hà nội
ặc ặc, thế thì các bác phải hỏi cho rõ chứ (Ví dụ: Ko chỉ làm việc này trên Excel mà ở bất cứ môi trường nào, làm cho 1 vụ việc cụ thể chứ ko phải xử lý trong phần mềm,...???). Tớ cứ tưởng là liên quan đến ...lập trình :). Chứ ai mà chẳng biết cái Tools để làm việc này.
 
DucThuan

DucThuan

Tè lè ra rồi !
4/12/04
173
4
18
Đầu đường xó chợ
the7habitsman nói:
ặc ặc, thế thì các bác phải hỏi cho rõ chứ (Ví dụ: Ko chỉ làm việc này trên Excel mà ở bất cứ môi trường nào, làm cho 1 vụ việc cụ thể chứ ko phải xử lý trong phần mềm,...???). Tớ cứ tưởng là liên quan đến ...lập trình :). Chứ ai mà chẳng biết cái Tools để làm việc này.

Ha ha, phải biết lập trình như bác thì hay nhỉ? Đỡ phải xài cái của người ta. Hổng sướng.
 
W

workman

Guest
22/7/05
372
2
0
51
Ho Chi Minh
tsf nói:
Ha ha, phải biết lập trình như bác thì hay nhỉ? Đỡ phải xài cái của người ta. Hổng sướng.
Phải có những người không biết lập trình như bọn mình tán thưởng thì các bác lập trình mới phấn khởi chứ. Phải không bác the7habitsman.

Tôi thấy xài đồ của người ta cũng sướng như thường, miễn là phải tỏ lòng biết ơn người lập trình. Như tôi đây, toàn xài đồ chùa nhưng lúc nào cũng tri ân cả người viết chương trình lẫn người ... bẻ khóa
 
D

datartex

Sơ cấp
12/8/05
20
0
1
51
Hanoi
Nhưng tôi đang dùng bộ gõ ABC và không muốn cài đặt Vietkey thì có cách nào không, mong các bác chỉ giáo.
 
hai2hai

hai2hai

VNUNI Makes a difference
29/4/04
2,032
125
63
50
Hà nội
vnuni.net
datartex nói:
Nhưng tôi đang dùng bộ gõ ABC và không muốn cài đặt Vietkey thì có cách nào không, mong các bác chỉ giáo.

Thế thì tớ phải giải thích 1 cách cực kỳ "nôm na" cho bạn về chủ đề "font" để bạn hiểu:

Khi nói về font có 3 vấn đề cần phải chú ý:

1. Fonts
Bạn có thấy các fonts như Arial, Time News Roman, .vnTime, .vnArial,... không? Cái đó người ta gọi là font (nói nôm na thì font là thể hiện cái bề mặt của cái chữ mà bạn gõ vào, bạn chọn font khác nhau thì chữ của bạn sẽ thể hiện khác nhau trên chương trình (winword hay excel chẳng hạn). OK?

2. Bảng mã
Có khá nhiều bảng mã như UNICODE, VNI Windows, TCVN3 (ABC), v.v... Cái này hơi khó giải thích cho bạn hiểu. Nhưng thôi, bạn cứ hiểu là Unicode là bảng mã chuẩn quốc tế và ai trên thế giới này cũng đọc được mà ko cần gửi đúng font, còn "ABC" của bạn thì chính là TCVN3 mà "xưa kia" ở các tỉnh miền bắc này rất hay sử dụng và còn sử dụng lay lắt cho tới tận ngày nay).


Mối quan hệ giữa Bảng mã và Fonts:
Thường thì các fonts được thiết kế dựa trên các bảng mã. Ví dụ .vnTime, .vn(***) thì được design theo TCVN3, Time News Roman, Arial, Tahoma, Veranda,... là những font chuẩn của windows (win98 trở lên) thì thiết kế là nhưng Unicode font. VNI.... thì tuy là 2 bytes nhưng là theo bảng mã VNI windows, v.v....

3. Phần mềm gõ tiếng việt
PM gõ tiếng việt là CÔNG CỤ để bạn có thể gõ chữ theo laọi bảng mã mà bạn chọn. Hiện nay có rất nhiều Phần mềm gõ tiếng việt (ABC của Quách Tuấn Ngọc, VietKey của anh Tuấn - nhóm Vietkey, Vietware, Unikey, v.v...) và chỉ có ABC là chỉ hỗ trợ mỗi bảng mã TCVN3 thôi, còn lại hầu hết các PM khác đều hỗ trợ tất cả các bảng mã nói trên mà cụ thể là Vietkey và Unikey

Như vậy, khi bạn cài Unikey (tớ khuyên bạn nên dùng cái này) và Vietkey thì bạn yên tâm là gõ được theo mọi bảng mã nhé (và ko bị lạc hậu).

Nói dài dòng như vậy, không biết bạn có biết Unikey, Vietkey, ABC,... khác nhau như thế nào chưa?

Để có được Unikey, bạn chỉ cần Google "Download Unikey" hoặc làm tương tự với tất cả các phần mềm khác.

Chúc bạn làm việc hiệu quả trên máy tính của bạn.
 

Xem nhiều

Webketoan Zalo OA