Erreur SQL "Error code : 22007 (1366). Incorrect string value..."

Re,

J’ai pas compris : tu as une erreur dans les logs du démon (pas du plugin) ?

J’allais te poser la même question, mais tu viens d’y répondre :stuck_out_tongue: du coup c’est pas le locale car tu est bien en UTF-8

Ce qui est bizarre, c’est que dans ton message d’erreur, il y a cette chaine de caractère : \xF0\x9F\x90\xB7 en en le décodant, c’est le cochon rose justement qui est dans le titre, mais qui s’affiche juste au dessus donc vraiment bizarre :confused:, d’autant plus que sur 2 jeedom différents, j’ai repris exactement ta vidéo, que j’ai rentré dans le champ youtube du plugin, il a joué la vidéo, et tout s’affiche normalement chez moi :

66429|[2024-09-27 08:29:43] DEBUG  : [REALTIME][CAST] Status Type :: media
66430|[2024-09-27 08:29:43] DEBUG  : [REALTIME][CAST] Cast cmd NON EXIST :: online
66431|[2024-09-27 08:29:43] DEBUG  : [REALTIME][CAST] Cast cmd event :: is_idle = 0
66432|[2024-09-27 08:29:43] DEBUG  : [REALTIME][CAST] Cast cmd event :: is_busy = 1
66433|[2024-09-27 08:29:43] DEBUG  : [REALTIME][CAST] Cast cmd NON EXIST :: volume_level
66434|[2024-09-27 08:29:43] DEBUG  : [REALTIME][CAST] Cast cmd NON EXIST :: volume_muted
66435|[2024-09-27 08:29:43] DEBUG  : [REALTIME][CAST] Cast cmd NON EXIST :: lastschedule
66436|[2024-09-27 08:29:43] DEBUG  : [REALTIME][CAST] Cast cmd event :: player_state = PLAYING
66437|[2024-09-27 08:29:43] DEBUG  : [REALTIME][CAST] Cast cmd NON EXIST :: display_name
66438|[2024-09-27 08:29:43] DEBUG  : [REALTIME][CAST] Cast cmd NON EXIST :: app_id
66439|[2024-09-27 08:29:43] DEBUG  : [REALTIME][CAST] Cast cmd NON EXIST :: status_text
66440|[2024-09-27 08:29:43] DEBUG  : [REALTIME][CAST] Cast cmd event :: title = Les histoires de Peppa Pig 🐷 Le Musée des Grosses Bêbêtes 🐷 épisodes de Peppa Pig
66441|[2024-09-27 08:29:43] DEBUG  : [REALTIME][CAST] Cast cmd event :: artist = N/A
66442|[2024-09-27 08:29:43] DEBUG  : [REALTIME][CAST] Cast cmd event :: album_name = N/A
66443|[2024-09-27 08:29:43] DEBUG  : [REALTIME][CAST] Cast cmd event :: content_type = x-youtube/video
66444|[2024-09-27 08:29:43] DEBUG  : [REALTIME][CAST] Cast cmd event :: stream_type = BUFFERED
66445|[2024-09-27 08:29:43] DEBUG  : [REALTIME][CAST] Cast cmd event :: last_updated = 27/09/2024 - 08:29:43
66446|[2024-09-27 08:29:43] DEBUG  : [REALTIME][CAST] Cast cmd event :: image = https://i.ytimg.com/vi/0SBnDqZUfYY/maxresdefault.jpg
66447|[2024-09-27 08:29:43] DEBUG  : [REALTIME][CAST] Cast cmd NON EXIST :: lastschedulets
66448|[2024-09-27 08:29:43] DEBUG  : [REALTIME][CAST] Cast cmd event :: duration = 7418.481
66449|[2024-09-27 08:29:43] DEBUG  : [REALTIME][CAST] Cast cmd event :: current_time = 895.974

Re,

Tu pourrais lancer cette commande SQL sur ton Jeedom ? (cela ne modifie rien, c’est juste pour aller voir l’encodage défini dans ton SQL) :

SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';

Voici ce que cela donne chez moi :

TiTidom.

Log ttscast au même endroit que tes logs.

Ca m’embête de te faire cramer du temps sur une connerie si je suis le seul a avoir ça. C’est loin d’être grave … Ca pollue mon centre de messages lol

J’attends la 4.5 pour switch en debian12 avec un os tout propre.

Actuellement debian11 qui a ete upgrade en live d’un debian10.

Je fais ta commande dans la matinée.

J’aime bien comprendre lorsque cela ne fonctionne pas :stuck_out_tongue:

Pas contre, ca, cela pourrait expliquer beaucoup de choses :open_mouth: (j’ai tellement vu de problèmes ces dernières années après l’upgrade d’un OS vers sa version supérieure… et pas qu’avec Jeedom, loin de là)

Ne sachant pas quand sortira la version 4.5, si je peux te donner un conseil, c’est de prendre un peu de temps pour réinstaller en débian 11 « propre », cela t’évitera tout un tas de soucis (et pas qu’avec TTSCast) :wink:

Attendons le résultat de la commande SQL dans tous les cas.

TiTidom.

Ah c’est pas exactement pareil (je commencais a songer aussi coté sql si ca coince pas car ca semble etre plus cote DB) : le character_set_database (utf8 vs utf8mb4) et collation_database (utf8_unicode_ci vs utf8mb4_general_ci)

Ca peut clairement titiller ca non ? C’est malgré tout UTF8 mais avec des variantes que je ne connais absolument pas.

Après c’est quoi le standard ? (j’ai envie de dire le tien s’il est plus ‹ propre › que le mien)

Bah j’ai demandé a ChatGPT 4o lol

2 « J'aime »

Re,

Ah bah là on commence à y voir plus clair :+1:

Donc voilà l’explication (de la cause du message d’erreur).

Par contre je m’explique pas pourquoi ta BDD est différente de la mienne.

Tout ce que je peux te dire, c’est que mes jeedom (prod, dev, tests : Debian 10, 11, 12) sont TOUS avec les mêmes paramètres (ceux que j’ai mis en capture plus haut) en utf8mb4 et installés from scratch (Debian propre + Jeedom ensuite).

Par contre, je n’ai pas assez de connaissances poussées en SQL pour expliquer comment la tienne a pu se retrouver avec cet encoding, ni s’il est possible de le changer sans tout casser (la solution la plus propre semble encore de réinstaller un Debian 11 tout propre avec un jeedom tout neuf et restaurer un backup dessus).

TiTidom.

J’ai joué après avoir fait un snapshot de ma config :-), j’ai pas envie de refaire from scratch (et donc ce cas precis c’est ‹ juste › donner plus de capacité sur des valeurs en passant de utf8 a utf8mb4, qui peut le plus peut le moins)

… et ca fonctionne :slight_smile:

Ce que j’ai fait :

  • remettre comme ta config (ca sera bon lors de ma prochaine install mais en attendant je custom le fichier de config sql) : nano /etc/mysql/conf.d/jeedom_my.cnf et ajouté :
[mysqld]
# Configuration du serveur MySQL
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci

# Paramètres généraux pour les connexions
init_connect = 'SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci'
init_connect = 'SET collation_connection = utf8mb4_unicode_ci'

[client]
# Paramètres client MySQL
default-character-set = utf8mb4

[mysql]
# Paramètres de l'outil en ligne de commande MySQL
default-character-set = utf8mb4
  • Convertir la table event deja en place (car c’est elle qui génère l’erreur)
MariaDB [jeedom]> SHOW FULL COLUMNS FROM `event`;
+----------+---------------+-----------------+------+-----+---------+-------+---------------------------------+---------+
| Field    | Type          | Collation       | Null | Key | Default | Extra | Privileges                      | Comment |
+----------+---------------+-----------------+------+-----+---------+-------+---------------------------------+---------+
| datetime | double(16,6)  | NULL            | YES  | MUL | NULL    |       | select,insert,update,references |         |
| name     | varchar(255)  | utf8_unicode_ci | YES  |     | NULL    |       | select,insert,update,references |         |
| option   | varchar(8192) | utf8_unicode_ci | YES  |     | NULL    |       | select,insert,update,references |         |
+----------+---------------+-----------------+------+-----+---------+-------+---------------------------------+---------+
3 rows in set (0.001 sec)
MariaDB [jeedom]> ALTER TABLE `event` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Query OK, 249 rows affected (0.013 sec)
Records: 249  Duplicates: 0  Warnings: 0
MariaDB [jeedom]> SHOW FULL COLUMNS FROM `event`;
+----------+---------------+--------------------+------+-----+---------+-------+---------------------------------+---------+
| Field    | Type          | Collation          | Null | Key | Default | Extra | Privileges                      | Comment |
+----------+---------------+--------------------+------+-----+---------+-------+---------------------------------+---------+
| datetime | double(16,6)  | NULL               | YES  | MUL | NULL    |       | select,insert,update,references |         |
| name     | varchar(255)  | utf8mb4_unicode_ci | YES  |     | NULL    |       | select,insert,update,references |         |
| option   | varchar(8192) | utf8mb4_unicode_ci | YES  |     | NULL    |       | select,insert,update,references |         |
+----------+---------------+--------------------+------+-----+---------+-------+---------------------------------+---------+
3 rows in set (0.001 sec)

-reboot jeedom (le sql aurait suffit normalement)

=> plus d’erreur ni dans jmqtt ni ttscast (je suis repassé sur la version stable, donc annule ta beta) avec ma tete de cochon !!! (j’ai toujours mon checkpoint si jamais il faut lol). Je sais je suis joueur mais j’aime comprendre sans me dire on recommence de zero :-). Je pense que la convertion seule de la table event aurait suffit mais bon.

En tout cas un grand merci de ton aide car tu as mis le doigt sur le problème et ca vient de chez moi, j’aime pas faire perdre du temps aux personnes sachant que vous depotez assez sur les plugins. Encore désolé ! Je paye comme tu dis quelques part ma faignantise de repartir d’un debain 11 clean.

Si jamais ca peut servir à d’autres on ne sait jamais !

3 « J'aime »