質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

解決済

1回答

732閲覧

文字化けの治し方(Ruby)

Yamato_kawakami

総合スコア20

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

0グッド

0クリップ

投稿2019/03/20 06:33

編集2019/03/20 06:37

ターミナルで"irb"と入力し、a = "アイウエオ"と日本語入力すると文字化けします。
ターミナルで irb --noreadlineと入力しても治りません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otn

2019/03/20 06:42

OSなど環境と、「なにをやったらこうなった」を具体的に追記してください。
Yamato_kawakami

2019/03/20 06:44

rubyのバージョンを2.4.1にした後atomでいろんなパッケージをインストールしたら文字化けしました。
otn

2019/03/20 06:48 編集

OSなど環境と、「なにをやったらこうなった」を具体的に追記してください。
otn

2019/03/20 07:06

答え方が分からないのですかね? 「OSなど環境」の具体的な例としては、 Windows10に、RubyInstallerでインストールしたRuby2.4.1 「なにをやったらこうなった」の具体的な例としては、 D:\>irb irb(main):001:0> a="アイウエオ" => "\x{8341}\x{8343}\x{8345}\x{8347}\x{8349}" irb(main):002:0>
Yamato_kawakami

2019/03/20 07:13 編集

Macに、rubyinstallでruby2.4.1 irb > a ="\U+FFE3(日本語を入力した後エンターを押したら出る) => ""
otn

2019/03/20 07:12

もう一度、私の2019/03/20 16:06 のコメントをよく読んで、それに倣って書いてください。 今のところ、有効な情報は、MacOSという1つだけです。
Yamato_kawakami

2019/03/20 07:14

Macに、rubyinstallでruby2.4.1 irb > a ="\U+FFE3(日本語を入力した後エンターを押したら出る) => ""
otn

2019/03/20 07:22

> irb > a ="\U+FFE3 これだけですか?文字列を閉じる " は出ていないと言う事ですか?
Yamato_kawakami

2019/03/20 07:29

iirb(main):001:0> a = "\U+FFE3\U+FFE3" => "" 文字列を閉じるは出てきます。 ですが結果は空白になってしまいます。
Yamato_kawakami

2019/03/20 07:31

今ターミナルで irb --noreadlineでは日本語入力が成功しました。 ですがirbで行ったらまた文字化けしました。
otn

2019/03/20 07:49

> irb --noreadlineでは日本語入力が成功しました。 これは、何も問題がないという意味ですか? > a = "\U+FFE3\U+FFE3" 入力したのは "アイウエオ" なんですよね?
otn

2019/03/20 07:58

irbで、Encoding.default_external と入れると何と出ますか? Encoding.default_internal と入れると何と出ますか? たくさん聞くと1つしか回答しない人がいますが、全部回答してください。
Yamato_kawakami

2019/03/20 09:13

Encoding.default_external↓ NoMethodError: undefined method `default_externa' for Encoding:Class Did you mean? default_external default_external= default_internal default_internal= from (irb):1 from /usr/bin/irb:11:in `<main>' ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー Encoding.default_internal↓ => nil ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー アイウエオは例えです。 一応アイウエオと入力した結果も貼ります irb(main):003:0> a = "\U+FFE3\U+FFA2\U+FFE3\U+FFA4\U+FFE3\U+FFA6\U+FFE3\U+FFA8\U+FFE3\U+FFAA"
otn

2019/03/20 12:56

> NoMethodError: undefined method `default_externa' for Encoding:Class タイプミスですね。 \U+FFE3 という表記がRubyのものではないので(Rubyだと\uFFE3)、\U+FFE3 でググってみたところ、Mac固有の問題で、1行入力サブルーチンが日本語(?)に対応していないという事らしいです。 解決策としては、--norealine を付けるか、自分でreadlineライブラリを入れてそれを使うように設定するか。 なぜ \U+FFE3 などとなってしまうのかの理由は見つからず。
Yamato_kawakami

2019/03/21 12:31

回答ありがとうございます。 これからは--noreadlineで対処することにします
guest

回答1

0

自己解決

irb --noreadline
で入力すると、文字化けはなくなる。

投稿2019/03/22 07:43

Yamato_kawakami

総合スコア20

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問