###dockerコマンドの出力からマルチバイト文字が無視されてしまう
現象はカンタンに再現できます。
例えば以下のdockerコマンドを、Windows標準のコマンドプロンプト上で実行します。
> docker run --rm centos echo "123まるちbyte"
123まるちbyteと表示されて欲しいのですが、結果は、こう。
123byte
綺麗に「まるち」だけが消えて、詰まります。
以下、実際のキャプチャです。
これを、正常に123まるちbyteと表示されるようにするには、どうしたらいいのでしょうか。
せめて現象が起きている原因だけでも分かりましたら幸いです。
###色々試した
Windows標準のcmdじゃなくパワーシェルでも、nyagosでも、管理者実行モードでも、-it付けても、-e TERM=xtermやロケール指定しても、centosじゃなくubuntuでも、全て同じ結果です。ついでに、Docker Toolbox for Windows でも同様です。
ちなみに、MacやLinuxのDockerでは問題ないようで、123まるちbyteと表示されました。
###docker runやdocker execでコンテナの中に入ってる時も起きる
コンテナの中に入って作業してても、マルチバイトの出力があるようなスクリプトを実行すると上記のような結果になるか、最悪以下のようなエラーを吐いて、強制的にコンテナから退場させられてしまう場合もあります。
# コンテナに入る > docker run --rm -it centos bash # 首相官邸のページを取得して出力する(マルチバイト文字は表示されない) $ curl http://202.232.86.11 # エラー吐いて→コンテナ退場 New state of 'nil' is invalid. >
###愚痴
コマンドプロンプト上でtailfしてたらログに日本語入ってくるとか普通にあるケースだと思うんですが、これだれも問題視しないんでしょうか・・。
検索してもそれらしき情報を見つけられないまま、数ヶ月が経ちました。
Windowsでコマンドプロンプト上からDockerを実行したり眺めたりする奇特な方は、あまりいないのかな・・。
回答4件
あなたの回答
tips
プレビュー




バッドをするには、ログインかつ
こちらの条件を満たす必要があります。