Cryptic message when compiling for first time

Configuration:

  • Windows 10
  • Used the “Windows XP and Up” installer instead of the Windows App
  • My system language/locale is set to Japanese, so the Arduino IDE interface was displayed in Japanese.

I had no trouble following the setup instructions, but when I tried compiling it I got the following output:

Archiving built core (caching) in: C:\Users\citadel\AppData\Local\Temp\arduino_cache_899944\core\core_keyboardio_avr_model01_c8a862cde584ff29c967b12d91a09fde.a
??28672?????????????????????20712????72%?????????
??2560????RAM????????????1794????70%???????????????766?????????????

It looks to me like the console output encoding was incompatible with my system language, or perhaps just the localized interface. Another possibility is the font of the IDE console. I don’t know if this is a problem with the Arduino IDE or what. Does this look even remotely close to a success? Where should I start with diagnosing/troubleshooting this?

It looks pretty close to the messages you get upon successful compile about how much memory was used etc. You probably wouldn’t be getting those 72% and 70% type of figures if it didn’t compile.

Archiving built core (caching) in: C:\Users\Andrew\AppData\Local\Temp\arduino_cache_50297\core\core_keyboardio_avr_model01_db7672a53a84e6eea533fc5902cc3099.a
Sketch uses 20752 bytes (72%) of program storage space. Maximum is 28672 bytes.
Global variables use 1735 bytes (67%) of dynamic memory, leaving 825 bytes for local variables. Maximum is 2560 bytes.

Indeed, that looks like a success. You might be able to change the font or the locale inside the Arduino settings.

Thanks for the quick replies! I temporarily changed the interface to English and the output stopped displaying mystery bytes.

The preferences.txt only seems to affect the editor font, not the compiler font. Some research led me to try changing the theme.txt console font (buried in the installation folder) which seemed to affect the appearance somewhat, but I couldn’t get visible changes past some defaulted sans font… Anyway it still results in a decoding problem. I wish there was more documentation on what valid input looks like for these files.

I’m starting to think it’s not a font problem, but an encoding problem. If the encoding of the output from the compiler (I assume that’s what I’m seeing in that window) doesn’t match the decoder of the GUI that displays it, then even a font with Unicode support wouldn’t be able to display the multi-byte characters. I’ve seen this problem in Microsoft compilers displaying mystery bytes in UTF8 decoded consoles. I’ve fixed it by changing the active codepage of Windows for that terminal environment to 65001, which is UTF8 in Windows codepage land.

If that does happen to be the problem, I’m not sure it’s something I can fix. Maybe it should be reported. Though they went to the trouble of localizing the interface. Seems strange to overlook the console GUI.

If I have time to investigate this further and form a proper report for the Arduino IDE devs I’ll post the progress here. I can change the interface to English, but I hate to think of CJK Arduino users having all the compiler messages be illegible like this.