I'm not an expert in Linux, but I am following the development of a software that runs on Linux Buildroot. The device can only use the program for the graphical interface, access the shell, or connect through a serial cable or SSH. The end-users of the device are given the option to connect to their Wi-Fi network.
The program is written in C++, and to perform the scanning and obtain the list of available Wi-Fi networks, a shell command is executed.
My problem lies in the encoding of the result of this operation; I can't display accented characters correctly.
In the program, I can enter a word with an accent and display it on the screen without any issues. However, when I retrieve the result from the shell command to get the Wi-Fi networks, I get an "incorrect" ESSID because if, for example, the network name contains the character è, I see its encoding as \xC3\xA8, and consequently, it is impossible to connect to the network.
I tried to encode the output of the command using a method, but it didn't work. I also ran the command I execute in the code directly in the shell, and the result was incorrectly encoded, as described above in the example. I deduced that it's a system issue, and I attempted to manually set the system encoding, but it didn't change anything.
I have noticed that some files are missing in the system I am using. Is there a solution to this problem??