Caractère UTF-8 QR Code Zen.Barcode [Résolu]

Messages postés
17
Date d'inscription
lundi 11 février 2019
Statut
Membre
Dernière intervention
7 mars 2019
- - Dernière réponse : vb95
Messages postés
1946
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 octobre 2019
- 7 mars 2019 à 15:26
Bonjour,

J'utilise le framework Zen.Barcode pour créer des qr codes cependant il ne prend pas en compte les caractères spéciaux (é,à,Ë etc) comment pourrais je procéder s'il vous plait ?

Voici mon code avec en commentaire ma partie pour essayer d'encoder la string nameAgent

string nameAgent = fileWExt.Substring(0, fileWExt.Length - 8);

                    //byte[] bytes = Encoding.Default.GetBytes(nameAgent);
                    //nameAgent = Encoding.UTF8.GetString(bytes);
                    String chaineCrypte = nameAgent + " " + cpCrypte;
                 

                    panel1.BackgroundImage = Image.FromFile("c:\\outils\\QrCodeGenerator\\GabaritBadge\\badgerondvierge.jpg");
                    Zen.Barcode.CodeQrBarcodeDraw qrcode = Zen.Barcode.BarcodeDrawFactory.CodeQr;
                    pictureBox4.BackgroundImage = qrcode.Draw(chaineCrypte, 60);
                    label2.Text = nameAgent;


Merci d'avance.
Clément
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
1946
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 octobre 2019
68
1
Merci
Ou même mieux avec Encoding.Unicode qui gère l'UTF16

Dire « Merci » 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CodeS-SourceS

Codes Sources 188 internautes nous ont dit merci ce mois-ci

Commenter la réponse de vb95
Messages postés
1946
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 octobre 2019
68
0
Merci
bonjour
Pourquoi ne mets-tu pas les 2 Encoding sur Default pour tester ?
byte[] bytes = Encoding.Default.GetBytes(nameAgent);
nameAgent = Encoding.Default.GetString(bytes);


vb95
Messages postés
1946
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 octobre 2019
68 > clementekh
Messages postés
17
Date d'inscription
lundi 11 février 2019
Statut
Membre
Dernière intervention
7 mars 2019
-
A quoi correspond 60 ( le second paramètre de
Qrcode.Draw
?
De plus pour poster du code voit ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
clementekh
Messages postés
17
Date d'inscription
lundi 11 février 2019
Statut
Membre
Dernière intervention
7 mars 2019
-
Je ne sais pas du tout j'ai suivi le tuto suivant https://www.supinfo.com/articles/single/3975-generer-qr-code-c

Mais penses tu qu'il failles que je change quelque chose de se parametre ?

Oui je sais la bonne manière de poster du code c’était juste pour montrer l'erreur car c'est exactement le même code que mon premier post
vb95
Messages postés
1946
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 octobre 2019
68 > clementekh
Messages postés
17
Date d'inscription
lundi 11 février 2019
Statut
Membre
Dernière intervention
7 mars 2019
-
Il faudrait surtout savoir à quoi il correspond . Car dans la ligne de code où est l'erreur on parle d'index dans un tableau et on est en dehors des limites du tableau .
Peut-être la longueur de chaineCrype ?
Est-ce que cela fonctionnait sans les caractères spéciaux ( voir ton message d'origine ) ?
vb95
Messages postés
1946
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 octobre 2019
68 > vb95
Messages postés
1946
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 octobre 2019
-
bonjour
en essayant ceci avec un é ou un à dans la Textbox cela fonctionne !
Par contre je ne peux tester si le Qrcode est correct !
using System.Windows.Forms;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Button1_Click(object sender, System.EventArgs e)
        {
            Zen.Barcode.CodeQrBarcodeDraw qrcode = Zen.Barcode.BarcodeDrawFactory.CodeQr;
            pictureBox1.Image = qrcode.Draw(textBox1.Text, 60);
        }

        private void TextBox1_Click(object sender, System.EventArgs e)
        {
            textBox1.Text = string.Empty;
        }
    }
}

clementekh
Messages postés
17
Date d'inscription
lundi 11 février 2019
Statut
Membre
Dernière intervention
7 mars 2019
-
ça ne vient pas de la longueur car même en la réduisant ça ne passe pas et lorsque je j’enlève les caractères spéciaux ça fonctionne.
Commenter la réponse de vb95
Messages postés
17
Date d'inscription
lundi 11 février 2019
Statut
Membre
Dernière intervention
7 mars 2019
0
Merci
Du coup j'ai résous mon problème en changeant de framework j'utilise QR Code Generator qui prend en charge les caractères spéciaux.
vb95
Messages postés
1946
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 octobre 2019
68 -
Tant mieux !
Au plaisir
Commenter la réponse de clementekh