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

Signaler
Messages postés
17
Date d'inscription
lundi 11 février 2019
Statut
Membre
Dernière intervention
7 mars 2019
-
vb95
Messages postés
2037
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
26 janvier 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
2037
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
26 janvier 2020
82
Ou même mieux avec Encoding.Unicode qui gère l'UTF16
Messages postés
2037
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
26 janvier 2020
82
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
2037
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
26 janvier 2020
82 > 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
2037
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
26 janvier 2020
82 > 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
2037
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
26 janvier 2020
82 > vb95
Messages postés
2037
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
26 janvier 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;
        }
    }
}

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.
Messages postés
17
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.
vb95
Messages postés
2037
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
26 janvier 2020
82
Tant mieux !
Au plaisir