Bonjour.
j'ai une application qui récupéré des enregistrements depuis une base de donnée mysql.
Le probléme que j'ai, c'est que je récupère des strings avec un encodage bizzard, par exemple : "Sol\u00e8ne" à la place de "Soléne"
j'ai essayer plein de truc que j'ai trouvé sur le net pour essayer de convertir "Sol\u00e8ne" => "Soléne" mais j'ai pas réussie .....
est ce que quelqu'un aura une petit idée de ce type d'encodage et comment je peut faire la convention en caractère "normaux" ?
PS : dans la Base de donnée j'ai aussi du nom avec des caractères spécieux de toutes les langues (ê, ë ....).
Ps2 : l'interclassement de ma base MySql est en utf8_unicode_ci
j'ai essayer un ce code que j'ai trouver sur le net :
Sa règle le probléme de l'exemple "Sol\u00e8ne" mais sur d'autre cas sa génére des exeptions
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Try While (mystr.IndexOf("\u") <> -1) Dim index As Integer = mystr.IndexOf("\") index += 3 Dim code As String = Mid(mystr, index, 4) Dim intCode As Integer = CInt("&H" & code) ' display code together with hex-code Dim newchar As String = ChrW(intCode) mystr = Replace(mystr, "\u" & code, newchar) End While Return mystr Catch ex As Exception Return mystr End Try
merci d'avance pour vos reponses
Partager