Python でファイルを読み込むときに文字化けが発生する際の解決方法

ファイルの文字コードが、コード指定の文字コードと異なる場合に文字化けが発生します。解決方法:

  1. open
  2. 彼は彼の従業員がうまくいき、成功するように支援するためにたくさんの努力をしました。
with open('file.txt', encoding='utf-8') as f:
    # 读取文件内容

よく使われる文字コードには、utf-8 や gbk などがあります。

  1. 日本語にネイティブに言い換えると、chardet
  2. 文字コード検出
import chardet

def detect_encoding(file_path):
    with open(file_path, 'rb') as f:
        result = chardet.detect(f.read())
    return result['encoding']

# 读取文件并指定编码格式
encoding = detect_encoding('file.txt')
with open('file.txt', encoding=encoding) as f:
    # 读取文件内容

これにより、ファイルの内容から自動的にエンコーディング形式が検出され、ファイルが開かれるようになります。

  1. ファイルのエンコード形式が確定しない場合は、他のエンコードを使ってเปิดいてみたり、エラー処理をするなどしてみるとよいかもしれません。例えば:
encodings = ['utf-8', 'gbk']
for encoding in encodings:
    try:
        with open('file.txt', encoding=encoding) as f:
            # 读取文件内容
        break
    except UnicodeDecodeError:
        continue

そのようにして、ファイルを開くために様々なエンコード形式を試み、成功するまであるいはすべて失敗するまで続けます。

ファイル操作時は、ファイルの文字コードとコードの文字コードが一致していることを確認してください。一致していない場合、文字化けが発生する場合があります。

bannerAds