UTF-8 の時のフォントが日本語非対応であることが原因の様です。
こちらが対策になりそうです。
https://qiita.com/yufu/items/86a455f948a3e1c0ef97
コマンドプロンプトの、「文字化け」ではなく、「文字消え」について
コマンドプロンプトの、「文字化け」ではなく、「文字消え」について
初投稿です。
「文字消え」と検索しても出てこなかったので、こちらで質問させていただきます。
コマンドプロンプトで、メモ帳などで作成したソースコードを実行するとき、日本語の文字化けについてはネットで情報を探したらエンコードを変更すればいいとあるので、その件は解決しました。
ソースコードが「UTF-8」なのでコマンドプロンプトに「chcp 65001」を入力すれば文字化けは起こらなくなりました。(Windows10, 11です。)
しかしながら、今度は「文字消え」が起こります。Javaで文字列を入力させて、返すという初歩的なプログラムを作成しているのですが、日本語だけ消えて、英数字だけ出力されます。
発生している問題・エラー
日本語文字列の場合
文字列を入力してください
あいうえお
入力した文字列は
英数字の場合
文字列を入力してください
abcde
入力した文字列は abcde
混合文字列の場合
文字列を入力してください
あいうえおabcdeかきくけこfghij
入力した文字列は abcdefghij
このように、日本語だけが飛ばされてしまいます。
同じ経験のある方、また、解決されたことのある方はいらっしゃいませんか。
2Answer
Comments
@bagukesigomu
Questionerご回答いただき、誠にありがとうございます。
バッチファイルを作成したりなど、いろいろ試してみましたが、入力文字列の日本語部分だけ出力時にスルーされてしまいます...
ソースファイル内の「文字列を入力してください」は表示されるのに、コマンドプロンプト(のショートカット)で入力した文字列の日本語部分だけ無視されるという何とも不可解な感じです。@bagukesigomu
Questioner無事解決しました。
javaで表示しようとしている文字列の長さは確認されましたか?
コマンドプロンプトの表示の問題なのか、javaで表示しようとしてる文字にそもそも日本語文字が含まれていないのかを切り分けたほうが良いと思います。
Comments
@bagukesigomu
Questionerご回答ありがとうございます。
昨日は日本語が消えて不可解でしたが、本日改めて実行してみたら表示されました!
恐らくコマンドプロンプトがバッグていただけかもしれませんね。
文字列の長さは平仮名2~3文字でもバグっていたので関係ないと思います。