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

Signaler
Messages postés
15
Date d'inscription
lundi 11 février 2019
Statut
Membre
Dernière intervention
7 mars 2019
-
Messages postés
2246
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
21 octobre 2020
-
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

3 réponses

Messages postés
2246
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
21 octobre 2020
115
Ou même mieux avec Encoding.Unicode qui gère l'UTF16
Messages postés
2246
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
21 octobre 2020
115
bonjour
Pourquoi ne mets-tu pas les 2 Encoding sur Default pour tester ?
byte[] bytes = Encoding.Default.GetBytes(nameAgent);
nameAgent = Encoding.Default.GetString(bytes);


Messages postés
2246
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
21 octobre 2020
115 >
Messages postés
15
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
Messages postés
15
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
Messages postés
2246
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
21 octobre 2020
115 >
Messages postés
15
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 ) ?
Messages postés
2246
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
21 octobre 2020
115 >
Messages postés
2246
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
21 octobre 2020

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;
        }
    }
}

Messages postés
15
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.
Messages postés
15
Date d'inscription
lundi 11 février 2019
Statut
Membre
Dernière intervention
7 mars 2019

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.
Messages postés
2246
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
21 octobre 2020
115
Tant mieux !
Au plaisir