Private Const CP_UTF8 = 65001 Private Declare Function MultiByteToWideChar Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpMultiByteStr As String, ByVal cchMultiByte As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long) As Long Private Declare Function WideCharToMultiByte Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long, ByVal lpMultiByteStr As String, ByVal cchMultiByte As Long, ByVal lpDefaultChar As Long, ByVal lpUsedDefaultChar As Long) As Long Public Function AToUTF8(ByVal wText As String) As String Dim vNeeded As Long Dim vSize As Long vSize = Len(wText) vNeeded = WideCharToMultiByte(CP_UTF8, 0, StrPtr(wText), vSize, "", 0, 0, 0) AToUTF8 = String(vNeeded, 0) WideCharToMultiByte CP_UTF8, 0, StrPtr(wText), vSize, AToUTF8, vNeeded, 0, 0 End Function Public Function UTF8ToA(ByVal wText As String) As String Dim vNeeded As Long Dim vSize As Long vSize = Len(wText) vNeeded = MultiByteToWideChar(CP_UTF8, 0, wText, vSize, 0, 0) UTF8ToA = String(vNeeded, 0) MultiByteToWideChar CP_UTF8, 0, wText, vSize, StrPtr(UTF8ToA), vNeeded End Function ' ==== Utilisation : 'Private Sub Command3_Click() ' Text1 = "EBArtSoft%20-%20éà éçڳگڦà¸" ' Text2 = UTF8ToA(Replace(Text1, "%20", " ")) ' Text3 = AToUTF8(Replace(Text2, " ", "%20")) 'End Sub
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.