Hàm chuyển tiếng Việt thành tiếng Việt không dấu.

  • Thread starter vienlien87
  • Ngày gửi
V

vienlien87

Guest
15/10/09
53
2
8
67
Huế
Mình cần hàm chuyển tiếng Việt có dấu thánh tiếng Việt không dấu.
VD: dương, dưỡng--->duong; nhưng, những --->nhung
Nhờ các PRO giúp đỡ
 
Khóa học Quản trị dòng tiền
Đào Việt Cường

Đào Việt Cường

Moderator
22/11/05
400
4
18
Khánh Hòa
Ðề: Hàm chuyển tiếng Việt thành tiếng Việt không dấu.

Dear Vienlien87,
----------------

Mình tìm giúp bạn đoạn code này, mình sưu tầm:
Mã:
Function ClearMarkUniCode(StringToConvert As String) As StringConst StNoneMarkStrings = "aaaaaaaaaaaaaaaaaeeeeeeeeeeeiiiiiooooooooooooooooouuuuuuuuuuuyyyyydAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEEEEEEEEEEEEEEEEEEEEEIIIIIOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOUUUUUUUUUUUUUUUUUUUUUYYYYYYYYYD"
Const stUniCode = "225  224  7843 227  7841 259  7855 7857 7859 7861 7863 226  7845 7847 7849 7851 7853 233  232  7867 7869 7865 234  7871 7873 7875 7877 7879 237  236  7881 297  7883 243  242  7887 245  7885 244  7889 7891 7893 7895 7897 417  7899 7901 7903 7905 7907 250  249  7911 361  7909 432  7913 7915 7917 7919 7921 253  7923 7927 7929 7925 273  193  193  192  192  7842 7842 195  195  7840 7840 258  258  7854 7854 7856 7856 7858 7858 7860 7860 7862 7862 194  194  7844 7844 7846 7846 7848 7848 7850 7850 7852 7852 201  201  200  200  7866 7866 7868 7868 7864 7864 202  202  7870 7870 7872 7872 7874 7874 7876 7876 7878 7878 205  204  7880 296  7882 211  211  210  210  7886 7886 213  213  7884 7884 212  212  7888 7888 7890 7890 7892 7892 7894 7894 7896 7896 416  7898 7898 7900 7900 7902 7902 7904 7904 7906 7906 218  218  217  217  7910 7910 360  360  7908 7908 431  7912 7912 7914 7914 7916 7916 7918 7918 7920 7920 221  221  7922 7922 7926 7926 7928 7928 7924 272  "
Dim stMarkCode As String, stChar As String, NewStringToConvert As String
Dim i As Long, lgPosition As Variant
StringToConvert = StringToConvert & " "
stMarkCode = " "
For i = 1 To Len(StringToConvert) - 1
 stChar = Mid(StringToConvert, i, 1)
 stMarkCode = AscW(stChar) & String(5 - Len(CStr(AscW(stChar))), " ")
 lgPosition = (InStr(1, stUniCode, stMarkCode, 0) + 4) / 5
 If lgPosition >= 1 Then
   NewStringToConvert = NewStringToConvert & Mid(StNoneMarkStrings, lgPosition, 1)
 Else
   NewStringToConvert = NewStringToConvert & stChar
 End If
Next
ClearMarkUniCode = NewStringToConvert
End Function

Hàm làm việc với chuỗi UNICODE, nếu bạn sử dụng bộ mã khác thì bạn cần kết hợp với các hàm Convert Font. Hi vọng bạn tự làm được!
 
V

vienlien87

Guest
15/10/09
53
2
8
67
Huế
Ðề: Hàm chuyển tiếng Việt thành tiếng Việt không dấu.

Cảm ơn Đào Việt Cường. Mình đã đưa hàm này vào sử dụng, rất tiện ích cho việc tìm kiếm.
 

Xem nhiều