Merci Messieurs les spécialistes d’avoir avancé sur ce sujet.
Je comprends que vous avez trouvé la solution.
Devons nous attendre un correctif ou aller le chercher ici.
Si oui pouvez vous nous donner un peu de méthode pour apporter le correctif ?
Je ne voudrai pas aggraver mon problème.
Merci a vous
Loic
Janvier 17, 2024, 3:15
24
Bonjour,
Quand le correctif sera bon je l’ajouterais en stable et ferai une nouvelle version vous n’avez rien a faire.
Bonjour @Loic
OK. Je vais donc patienté.
En tout cas félicitations à l’équipe qui à travaillé sur ce post pour votre réactivité.
Merci Messieurs
2 « J'aime »
Bad
Janvier 17, 2024, 4:16
26
rennais35000:
Dans le log cela apparait comme ça :
Ce Mercredi 17 Janvier 2024 le jour se couchera \u00e0 17h44. Il fait 10\u00b0 dehors et les conditions sont Couvert, la T\u00b0 max pr\u00e9vue est de 13.2\u00b0
Nous f\u00eatons les Sainte Roseline
C’est anecdotique pas la peine d’y passer du temps sauf à révéler autre chose.
Tu as encore cette erreur après cette modif ?
Bad:
Essaye de remplacer dans core/class/log.class.php#L250
:
array_unshift($page, mb_convert_encoding($line, 'UTF-8', 'ISO-8859-1'));
par
array_unshift($page, mb_convert_encoding($line, 'UTF-8'));
Oui uniquement à ce niveau là apparemment et avec l’utilisation pour les messages. Mais comme je te disais ce n’est pas grave, à l’arrivée par sms le message est bien le bon. C’est juste dans le log que les caractères spéciaux sont mal codés.
Je l’ai juste signalé en me disant que ça pouvait répercuter sur autre chose également.
Bonsoir,
@bad , est-il possible que le soucis persiste en fonction d’une certaine config d’un utilisateur ?
car en simulant le message de @rennais35000 dans un scénario avec :
$line = secureXSS($line);
array_unshift($page, mb_convert_encoding($line, 'UTF-8'));
Les log sont correctement formatté, en coloré comme en brut.
Par contre
$line = htmlspecialchars($line, ENT_QUOTES | ENT_HTML5, 'UTF-8');
fait des dégâts lorsqu’on est en log brute
,
log coloré : test >>> message avec des " et '
log brute : test >>> message avec des " et '
et idem en 4.4.
Bad
Janvier 17, 2024, 6:22
29
Phpvarious:
Par contre
$line = htmlspecialchars($line, ENT_QUOTES | ENT_HTML5, 'UTF-8');
fait des dégâts lorsqu’on est en log brute
,
Oui, mais $line = secureXSS($line);
fait plus de dégâts avec <<<
en supprimant toute la fin de la ligne.
Phpvarious:
et idem en 4.4.
Oui, j’ai prévu de corriger aussi les logs bruts en 4.4, mais priorité à la « prod » en 4.3
Le problème est que la coloration est faire client-side en 4.3 et server-side en 4.4…
c’est pas le strip_tags qui met la zizanie ?
/**
*
* @param string $_string
* @return string
*/
function secureXSS($_string) {
if ($_string === null) {
return null;
}
return str_replace('&', '&', htmlspecialchars(strip_tags($_string), ENT_QUOTES | ENT_HTML5, 'UTF-8'));
}
function minify($_buffer) {
$search = array(
'/\>[^\S ]+/s', // strip whitespaces after tags, except space
'/[^\S ]+\</s', // strip whitespaces before tags, except space
'/(\s)+/s', // shorten multiple whitespace sequences
);
$replace = array(
'>',
Bad
Janvier 17, 2024, 6:35
31
Si si, c’est bien mon commentaire plus haut :
Je suis entrain d’amender le correctif en 4.3 pour faire ce remplacement client-side
Désolé j’avais pas vu ce commentaire
Je suis en ligne si tu as besoin d’un test
Bad
Janvier 17, 2024, 6:44
34
Je pense que cette fois-ci c’est bon, toutes les corrections à effectuer en v4.3 sont ici :
jeedom:V4-stable
← BadWolf42:fix-logging2
opened 01:18PM - 17 Jan 24 UTC
## Proposed change
Fix special chars in colored logs as per Community:
https:/… /community.jeedom.com/t/probleme-daffichage-dans-les-log-scenario/119365/16?u=bad
https://community.jeedom.com/t/probleme-daffichage-dans-les-log-scenario/119365/19?u=bad
## Type of change
- [x] Bugfix (non breaking change)
## Test check
![image](https://github.com/jeedom/core/assets/8396512/a07b9965-cac3-4817-a92d-11b2c30bda80)
Before:
![image](https://github.com/jeedom/core/assets/8396512/2f0145ab-7afa-47a0-b58e-b1400a213d7b)
After:
![image](https://github.com/jeedom/core/assets/8396512/914ad3a1-4602-4fc2-8a38-53be27a241cd)
## Documentation
N/A
C’est ok pour moi. (pas testé en interact)
Bad
Janvier 17, 2024, 6:55
36
J’ai remis la valeur exactement équivalente à utf8_encode($query)
(cf cette modif )…
Comme ça, pas de prise de risques inutiles.
Loic
Janvier 17, 2024, 7:06
37
Bonjour
C’est en stable pour l’instant j’ai pas changé le numéro de version. Ceux ayant des soucis pouvaient vous mettre à jour et me dire si c’est bon ?
2 « J'aime »
Je pense avoir fais toutes les modifs, toujours le caractère accentuè "à " qui est en js
Maj faite a l’instant et c’est ok pour moi, par contre je ne reproduit toujours pas ceci :
chez moi c’est ok
Edit : je reproduit bien, j’avais pas saisi que c’était dans un message
Chez moi le scénario :
Le log :
Edit : tu me rassures, j’ai testé sur 2 jeedom différentes
Peut-être parce que le jour se couchera
ça ne veut rien dire
J’ai un doute, en faite je pense que ce soucis existait déja avant les PR de @Bad .