Python
1print("????????????JAPAN????????????")
このようなコードを実行しようとすると、
????�????????JAAN????????????????
というログが表示されてしまいます。
文字化けが原因で本来1文字のみ出力されるはずの部分が二文字になっています。
おおよそ機種依存文字やエンコーディングが何らかの悪さをしているものだと推測しています。
解決法をご存じの方、ご教示いただけますと幸いです。よろしくお願いします。
以下にバージョン情報などを記載します。
Python 3.9.0(64bit) Visual Studio Codeで実行
OS:Windows 10 Home 1909
コードのエンコーディング:UTF-8
VS Code のTerminalで chcp 65001 でコンソールの文字コードを UTF-8 に変えてから実行するとどうでしょうか?
chcpを実行したところ現在のコードページは932と表示されたため、
chcp 65001を実行してActive code page: 65001と正常に変更されたことが確認されましたが、
やはり実行結果に変化はありませんでした。
調べたところ、国旗の絵文字が複数のコードポイントで1つの文字を表す絵文字であることに起因してそうということはわかりましたが、VS Code が対応してないのか、設定で解決できる話なのかはわかりませんでした。
https://qiita.com/_sobataro/items/47989ee4b573e0c2adfc#emoji-flag-sequence-%E5%9B%BD%E6%97%97%E7%B5%B5%E6%96%87%E5%AD%97