Convertir un mot en unicode (n'acceptant pas les caractères accentués) en un string (avec les accents)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 114 fois - Téléchargée 18 fois

Contenu du snippet

Salut,
C'est mon premier code et je l'ai fait car j'ai tant recherché ce genre de code sans résultat. Certains diront qu'il est baclé, bin ils ont raison et je les invite à l'améliorer. J'ai juste mis mon code afin que dans l'avenir les bonshommes qui recherchent un code pour convertir des caractères codifiés de cette sorte ("é") en un "é" simple trouveront mon code pour le recopier dans leur projet et même l'améliorer.
Ciao
Forza Taraji!!

Source / Exemple :


Public Shared Function ConvertAccentMohaBaba(ByVal Texte As String) As String
        Dim str As String = Texte
        Dim tch As String
        tch = str.ToArray
        Dim cht As String = ""
        Dim l As New Integer
        l = Len(str)
        Dim i As New Integer
        Dim j As New Integer
        j = 0
        i = 0
        While (i < l)
            If tch(i) = "&" Then
                Dim car As String = Mid(str, i + 1, 6)
                Select Case car
                    Case "&#233;"
                        cht = cht & "é"
                    Case "&#232;"
                        cht = cht & "è"
                    Case "&#231;"
                        cht = cht & "ç"
                    Case "&#226;"
                        cht = cht & "â"
                    Case "&#224;"
                        cht = cht & "à"
                    Case "&#234;"
                        cht = cht & "ê"
                    Case "&#238;"
                        cht = cht & "î"
                    Case "&#239;"
                        cht = cht & "ï"
                    Case "&#244;"
                        cht = cht & "ô"
                    Case "&#249;"
                        cht = cht & "ù"
                    Case "&#251;"
                        cht = cht & "û"
                    Case "&#245;"
                        cht = cht & "õ"
                    Case "&#235;"
                        cht = cht & "ë"
                End Select
                j = j + 1
                i = i + 6
            Else
                cht = cht & tch(i)
                j = j + 1
                i = i + 1
            End If
        End While
        Try
            Return cht
        Catch ex As Exception
            MsgBox("Le programme ne prend pas en compte ce genre de caractère", , "Attention !!")
            Return Texte
        End Try

    End Function

Conclusion :


J'espère avoir aidé la communauté (de l'anneau).
Forza Taraji!!

A voir également

Ajouter un commentaire

Commentaires

Messages postés
147
Date d'inscription
mercredi 18 septembre 2002
Statut
Membre
Dernière intervention
15 avril 2011

Salut vous avez tous les deux raisons mais c'est incomplet.

L'UNICODE est une norme internationale dont le but est de réunir un jeu de caractère complet propre à un maximum de langues écrites. Pour chaque caractères (visuel) il y a un code (une valeur numérique) qui lui propre.

Ainsi si j'écris au Maroc et en Arabe, puis que je mets mon texte sur le net, il restera intacte. Il ne se transformera pas en Kanji ou en caractères Latin si je suis en France ou au Japon.
Un autre exemple plus concret, sans l'UNICODE tout les accents propres à la langue Française disparaîtraient en traversant la manche, car les Anglais n'en utilisent pas.

Quand à ton code Mrassaa, il utilise quelques codes de l'UNICODE pour qu'il soit correctement représenté par tout les navigateurs.
Ce n'est vrai que pour les navigateurs qui respectent les normes de l'HTML 4.0.

Pour se faire une petite une idée de la taille de la table UNICODE, suivez ce lien :
http://www.tamasoft.co.jp/en/general-info/unicode.html
ou bien ouvrez la table des caractères de Windows à des polices comme Arial ou Times New Roman.
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
12
Il doit se tromper : l'Unicode commence par l'alphabet latin ...
Messages postés
143
Date d'inscription
lundi 15 mars 2010
Statut
Membre
Dernière intervention
12 juin 2013
1
Pour ce qui est de la codification, je viens de revérifier encore sur certains sites et ils disent que c'est de l'UniCode (voici le lien de l'un d'eux http://www.phpsources.org/caracteres-iso.htm ).C'est peut-être vrai pour les deux cas (même codification!).
Mais merci quand même, ta ligne de code allège énormément mon programme.

Forza Taraji!!
Messages postés
143
Date d'inscription
lundi 15 mars 2010
Statut
Membre
Dernière intervention
12 juin 2013
1
bin si je le savais ça m'aurais évité de me casser la tête à faire un par un les caractères spéciaux.
Merci pour l'info.
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
12
C'est pas de l'Unicode ton bazar, c'est simplement des entités HTML ...
Ton horrible fonction se résume en une ligne :
Return HttpUtility.HtmlDecode(Texte)

MSDN : http://msdn.microsoft.com/en-us/library/7c5fyk1k.aspx

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.