utf-8なら大抵エンコードがうまくいくのだが
utf-8意外だとエンコードがうまくいかないことがある
エンコードに失敗した文字があるとき
エンコード前の文字列.encode(エンコード形式,'ignore')
とすると、エンコードできなかった文字を飛ばして表示してくれる。
エンコード前の文字列.encode(エンコード形式,'replace')
とすると、エンコードできなかった文字を?に置き換えて表示してくれる。
これらを指定しない場合、エンコードに失敗する文字が一つでもあると
プログラムにエラーが起きてそこで止まってしまい
その後のプログラムが実行されずに終わってしまうので都合が悪い。
これらを使えばとりあえずはプログラムを最後まで実行できる。
temp = 'It is α'
print(temp.encode('utf-8'))
print(temp.encode('utf-8').decode('utf-8'))
print(temp.encode('ascii','ignore'))
print(temp.encode('ascii','replace'))
print(temp.encode('utf-8').decode('ascii','ignore'))
print(temp.encode('utf-8').decode('ascii','replace'))