Unicode文字を表示できるbuildrootで32ビットx86 ISOイメージを構築したいと思います。どうすればいいですか?
- で
make menuconfig
私は設定した。BR2_ENABLE_LOCALE_WHITELIST="C en_US en_US.UTF-8"
- で、、、、、、、、
make busybox-menuconfig
を設定しました。CONFIG_UNICODE_SUPPORT=y
CONFIG_UNICODE_USING_LOCALE=y
CONFIG_FEATURE_CHECK_UNICODE_IN_ENV=y
CONFIG_UNICODE_COMBINING_WCHARS=y
CONFIG_UNICODE_WIDE_WCHARS=y
CONFIG_UNICODE_BIDI_SUPPORT=y
CONFIG_UNICODE_NEUTRAL_TABLE=y
CONFIG_UNICODE_PRESERVE_BROKEN=y
- コンパイルマシン(Debianベース)からパッケージをインストールし
locales
て実行しました。sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen; locale-gen
ただし、イメージをビルドすると、テキストファイルに保存されたり、端末に入力されたUnicodeテキストが壊れます。
私がテストした1つの方法はecho -e '\xe2\x82\xac'
シェルで実行することでした。そうすれば、私のMac端末で見えるようなユーロ記号が印刷されます。ただし、結果のisoイメージには次のものが表示されます。
unfortunate # echo -e '\xe2\x82\xac'
â¬
より豊かな背景
- 私の主なプロジェクトはここにありますhttps://github.com/mrled/unfortunate/(サブモジュール参照)
- 私が使用するdefconfigファイルは次の場所にあります。https://github.com/mrled/unfortunate-browser-vm/blob/03dfb210d57a0e665da5cee108c2d9c052d66f5b/buildroot-v86/configs/v86_defconfig
- 私が使用しているビジボックス構成は、次の場所にあります。https://github.com/mrled/unfortunate-browser-vm/blob/03dfb210d57a0e665da5cee108c2d9c052d66f5b/buildroot-v86/board/v86/busybox.config
- 私が使用するカーネル設定は次の場所にあります。https://github.com/mrled/unfortunate-browser-vm/blob/03dfb210d57a0e665da5cee108c2d9c052d66f5b/buildroot-v86/board/v86/linux.config
- このプロジェクトは実際にv86ブラウザ内(クライアント!)x86エミュレータで実行するように設計されているので、
echo
私のコマンドを直接試すことができます。https://unfortunate.micahhrl.com。 (仮想マシンを起動するのに15〜30秒かかることがあります。)
ベストアンサー1
unicode_start
DebianにはシステムをUTF-8に設定できるシェルスクリプトがあります。シェルで実行する必要がある主なコマンドは次のとおりです。
printf '\033%%G'
stty iutf8
非常に興味深いStackExchangeスレッドで、次のことがわかりました。LinuxコンソールでUTF-8サポートを有効にするには?
また、私のbuildrootシステムで適切なUnicode設定を取得しようとしていますが、これらのコマンドは少し役に立ちますが、ターゲットシステムで正しく実行されないUTF-8でエンコードされたシェルスクリプトの問題にも直面しています。
役に立ったことを願っています!乾杯、ヒューグ