Wie kann ich Unicode-Unterstützung im Buildroot aktivieren?

Wie kann ich Unicode-Unterstützung im Buildroot aktivieren?

Ich möchte aus dem Buildroot ein 32-Bit x86 ISO-Image erstellen, das Unicode-Zeichen anzeigen kann. Wie mache ich das?

  • In make menuconfighabe ichBR2_ENABLE_LOCALE_WHITELIST="C en_US en_US.UTF-8"
  • In habe ich , , , , , , , make busybox-menuconfigeingestelltCONFIG_UNICODE_SUPPORT=yCONFIG_UNICODE_USING_LOCALE=yCONFIG_FEATURE_CHECK_UNICODE_IN_ENV=yCONFIG_UNICODE_COMBINING_WCHARS=yCONFIG_UNICODE_WIDE_WCHARS=yCONFIG_UNICODE_BIDI_SUPPORT=yCONFIG_UNICODE_NEUTRAL_TABLE=yCONFIG_UNICODE_PRESERVE_BROKEN=y
  • Auf der Kompiliermaschine (basierend auf Debian) habe ich das localesPaket installiert und ausgeführtsed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen; locale-gen

Beim Erstellen des Bildes wird jedoch in Textdateien gespeicherter oder in das Terminal eingegebener Unicode-Text verstümmelt ausgegeben.

Eine Möglichkeit, die ich teste, besteht darin, sie echo -e '\xe2\x82\xac'in der Shell auszuführen. Dadurch sollte das Symbol für den Euro gedruckt werden, was auf dem Terminal meines Macs auch geschieht. Im resultierenden ISO-Image sehe ich jedoch:

unfortunate # echo -e '\xe2\x82\xac'
â¬

Umfassenderer Kontext

Antwort1

Unter Debian gibt es ein unicode_startShellskript, das das System für UTF-8 einrichtet. Die wichtigsten Befehle, die Sie in Ihrer Shell ausführen sollten, sind:

printf '\033%%G'
stty iutf8

Ich habe diese im sehr interessanten StackExchange-Thread gefunden:Wie kann ich die UTF-8-Unterstützung in der Linux-Konsole aktivieren?

Ich habe auch Probleme, auf meinem Buildroot-System eine vernünftige Unicode-Konfiguration einzurichten, und diese Befehle haben ein wenig geholfen, aber ich habe immer noch Probleme mit in UTF-8 kodiertem Shellscript, das sich auf meinem Zielsystem nicht korrekt ausführen lässt.

Hoffe, das hilft! Grüße, Hugues

verwandte Informationen