UnicodeEncodeError
文字列を特定の文字コードに変換(エンコード)しようとして失敗したときに発生するエラーです。UnicodeDecodeErrorとは逆方向の変換で起こります。
原因
変換先の文字コードが対応していない文字(絵文字や特殊な記号など)を含む文字列を、無理に変換しようとすることが原因です。
エラーになるコード例
text = 'こんにちは😀'
encoded = text.encode('ascii')修正版
text = 'こんにちは😀'
encoded = text.encode('utf-8')
print(encoded)よくある間違い
- 日本語や絵文字を含む文字列を、英数字専用の'ascii'でエンコードしようとしてしまう
- encode()の引数に指定する文字コードを、開発環境と実行環境で揃えていない