Use this to unaccent your strings:
; Unicode Normalization Forms
Global Enum $UNF_NormC = 1, $UNF_NormD, $UNF_NormKC = 5, $UNF_NormKD
Func _UNF_Change($sIn, $iForm)
If $iForm = $UNF_NormC Or $iForm = $UNF_NormD Or $iForm = $UNF_NormKC Or $iForm = $UNF_NormKD Then
Local $aRet = DllCall("Normaliz.dll", "int", "NormalizeString", "int", $iForm, "wstr", $sIn, "int", -1, "ptr", 0, "int", 0)
Local $tOut = DllStructCreate("wchar[" & 2 * ($aRet[0] + 20) & "]")
$aRet = DllCall("Normaliz.dll", "int", "NormalizeString", "int", $iForm, "wstr", $sIn, "int", -1, "ptr", DllStructGetPtr($tOut, 1), "int", 2 * ($aRet[0] + 20))
Return DllStructGetData($tOut, 1)
Else
SetError(1, 0, $sIn)
EndIf
EndFunc ;==>_UNF_Change
Func _Unaccent($s, $iMode = 0)
Local Static $aPat = [ _
"(*UCP)[\x{300}-\x{36F}`'¨^¸¯]", _ ; $iMode = 0 : remove combining accents only
"(*UCP)\p{Mn}|\p{Lm}|\p{Sk}" _ ; $iMode = 1 : " " " and modifying letters
]
Return StringRegExpReplace(_UNF_Change($s, $UNF_NormD), $aPat[Mod($iMode, 2)], "")
EndFunc ;==>_Unaccent
Local $s = 'Nếu tôi là cậu thì sẽ biết mệt mỏi'
Local $t = _Unaccent($s)
MsgBox(0, "", $s & @LF & $t)
This has nothing to do with UTF8, let alone unsigned UTF8 (which doesn't make sense).