前提・実現したいこと
標準入力された日本語が文字化けせずに標準出力されること。
ご教示の程よろしくお願いいたします。
発生している問題・エラーメッセージ
上の画像の様に、ローマ字を入力した際には問題なく出力される。
日本語を入力すると日本語ではなく、
00(ppと出力される場合も有)が出力される(入力文字数に応じて0(p)が増えている)
該当のソースコード
C++
1#include <string> 2#include <iostream> 3 4 5using namespace std; 6 7int main(){ 8 9 string name; 10 11 cout << "お名前は:"; 12 cin >> name; 13 14 cout << "こんにちは" << name << "さん\n"; 15 16}
試したこと
chcp65001を入力し、当該exeファイルを実行するも問題は解消されず。
補足情報(FW/ツールのバージョンなど)
環境:windows10
コンパイラ:mingw-w64(及びLLVM←コンパイラとしてはこちらもインストールしてしまったが、基本的はmingw-w64をjsonで設定している)
実行時の文字コード (エンコード) はなんでしょうか?
コンソールのコードページは 65001 (UTF-8) ですか?
現状 Windows10 のコンソールはコードページを 65001 (UTF-8) にすると、日本語 (マルチバイト文字)
の入力ができないようです。
ありがとうございます。
デフォルトはエンコード(UTF-8)となっています。
(SHIFT-JIS)の場合はソースコードの日本語が文字化けします。
その際の結果は、
PS C:\Users\mono3\Coding\c++> ./list0118.exe
縺雁錐蜑阪?ッ?シ?山田
縺薙s縺ォ縺。縺ッ山田縺輔s
となっております。
簡単には、ソースをShift-JISで書く。 (VSCode の文字コードは変更可能)
回答2件
あなたの回答
tips
プレビュー