Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。463件81プログラミング超初心者で、Rubyを勉強しています。とある本のタスクを3つまで設けられるToDo_listを作る例題をやっています。サクラエディタでコードを書き、コマンドプロンプトで実行しています。コマンドプロンプトで実行中に、1つ目のタスクをひらがな入力しenterを押しても2つ目のモード選択に行かず改行になってしまい、もう一度enterを押すと表示されていなかった2つ目のモード選択で入力せずenterを押したと判断され、設定したエラーになってしまいます。半角英数でタスク設定をするとうまくいくのですが。プログラムを終了します。プログラムを終了します。10自分なりに調べましたが、解決に至らずここで初めて質問させて頂きました。どなたかご教授お願いいたします。個の銅バッジ1gets.chomp!のある行の前にSTDOUT.flushを追加してみたらどうなりますか?テキストを表示するのがかなり遅いことなので、何回も短いテキストを表示するより、一度に大量のテキストを表示するのが効果的です。そのため、(プログラム)が表示する予定のテキストをバッファに集めるのが普通です。そのバッファーが十分に満ちていると、一度に大量のテキストが表示されます。STDOUT.flushは、バッファーが十分に満ちていなくてバッファの内容を今すぐ表示させるコマンドです。今の不思議な不具合はこのバッファのためでしょう。"\xFA\xFF日本語\n"が返ってきてるようです。さんのSTDOUT.flushも試してみましたが効果ありませんでした。StoreからUbuntuを入れて、その中にRubyの開発環境を入れるのをおすすめします。関数等を利用して明示的にロケールの設定を行なう」必要があるそうです。ことなので、参考まで。私の環境では「従来のコンソールを使う」にチェックを入れてコマンドプロンプトを再起動してから動作確認したら正常に動きました。票11+50コメントにて解決されたようなので、改めて回答として投稿しておきます。導入された、新しいコンソールにおいて発生する不具合で、出力ストリームに紐づけられた内部的なコードページテーブルの初期化処理に不足があり、内部処理でマルチバイト文字を正しく認識出来ないことが原因のようです1。コンソールを使用する上記バージョンからコンソールの仕様が変わり、新しいコンソールが導入されました。今回の不具合は、この新しいコンソールにおいて発生するので、以前のコンソールを使えば問題は解決します。コンソールとして残っていますが、これを使用するには、以下のような手順でコンソールの設定を変更する必要があります。コンソールを使う場合、一部の最新機能が使えなくなる点に注意が必要です。関数等を利用して、明示的にロケールの設定を行なうことで不具合を解消出来ます。待つこの不具合は既にマイクロソフトが認識しており、次期バージョンで修正される予定となっています。そのため、時期バージョンまで待つことで解決出来ると思います。以降では既に修正されているという情報があるので、該当の更新プログラムを適用することで解決出来るかもしれません2。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。