どういうことを既に調べて試してみたのかを質問文に記載すると回答が付きやすいと思います。
環境がないので、憶測回答になってしまいますが、
.pyファイル/stdin/stdoutのencoding設定が違うように見受けられます。
環境変数 PYTHONIOENCODINGは設定されていますか?
以下はstdinとstdout、PYTHONIOENCODINGの値をprintする&動作確認サンプルです。
Python
1# -*- coding: utf8 -*-
2import sys
3import os
4import io
5
6
7def main() -> None:
8 # encodingをprint
9 print("PYTHONIOENCODING:{0}".format(os.environ.get('PYTHONIOENCODING','')))
10 print("std in:{0}".format(sys.stdin.encoding))
11 print("std out:{0}".format(sys.stdout.encoding))
12 # stdin のencodingをshift-jisに
13 encoding = 'utf-8'
14 encoding = 'shift-jis'
15 sys.stdin = io.TextIOWrapper(sys.stdin.buffer, encoding=encoding)
16 year = int(input("西暦何年?"))
17 print(year)
18
19
20if __name__ == '__main__':
21 main()
■参考情報
sys.stdin
どちらかというと、sys.stdin.encodingとsys.stdout.encodingをprintした内容が気になるのですが。。。
環境変数の設定も教えて頂けますでしょうか。
「Windows 環境変数 設定」のキーワードでぐーぐる検索すれば沢山ヒットすると思いますが。
Windows + Pause/Break キー → 左側のツリーのシステムの詳細設定 → 詳細設定タブ → 環境変数をクリック
変数名:PYTHONIOENCODING
値:UTF-8