3 votes

Sous Windows, PowerShell interprète mal les caractères non ASCII dans la sortie de mosquitto_sub.

Remarque : Cette question auto-répondante décrit un problème spécifique à l'utilisation de l'outil de gestion de l'eau. Eclipse Mosquitto sur Windows où il affecte à la fois Windows PowerShell et le système multiplateforme PowerShell (Core) édition, cependant.

J'utilise quelque chose comme ce qui suit mosquitto_pub pour publier un message :

mosquitto_pub -h test.mosquitto.org -t tofol/test -m '{ \"label\": \"eé\" }'

Note : Le supplément \ -l'évasion de la " caractères, toujours requis à partir de Powershell 7.1, ne devrait pas être nécessaire mais il s'agit d'un problème distinct - voir cette réponse .

Réception ce message via mosquitto_sub malmène de manière inattendue le caractère non-ASCII é et imprime à la place :

PS> $msg = mosquitto_sub -h test.mosquitto.org -t tofol/test; $msg

{ "label": "e" }  # !! Note the '' instead of 'é'
  • Pourquoi cela se produit-il ?
  • Comment puis-je résoudre le problème ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X