Vous n'êtes pas identifié(e).
Bonjour tout le monde,
J'ai une application C++ Qt5 qui permet de mettre à jour les données de ma base de données. Ma base à WIN 1252 comme encodage et l'application tourne sous Windows mais je rencontre cette erreur le caractère dont la séquence d'octets dans l'encodage « UTF8 » n'a pas d'équivalent dans l'encodage « WIN1252 »
Est ce quelqu'un peut m'aider à résoudre ce problème.
Merci d'avance
Hors ligne
WIN1252 ne peut pqs représenter tous les caractères existant en UTF-8, il n'y a donc pas trop de solution facile. Soit vous migrez votre base pour la stocker en UTF-8, soit vous faites en sorte de n'envoyer que des caractères valides en WIN1252.
Julien.
https://rjuju.github.io/
Hors ligne
Hello,
je rencontre cette erreur le caractère dont la séquence d'octets dans l'encodage « UTF8 » n'a pas d'équivalent dans l'encodage « WIN1252 »
C'est une erreur de la DB ou bien de l'application ? Vous avez accès au code source de l'application ?
Le QString travaille en UNICODE sur tous les O/S. Après si l'erreur est produite par l'application, il est possible que dans le code source de l'appli il soit fait appel à QString.toLocal8Bit() auquel cas, il n'y a pas grand chose à faire : Soit recompiler/exécuter l'appli sous Linux, soit remplacer les appels QString.toLocal8Bit() par des appels QString.toUtf8()
Si l'appli exporte les QString en Utf8, il faut bien sûr migrer la DB en UTF8.
Dernière modification par herve.lefebvre (22/03/2024 18:44:10)
Hors ligne