Pythonで内部エンコーディングを指定する
■コード
先頭に以下の記述をする。
# -*- coding: utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('UTF-8')
エラー
以下のようにreloadしないとエラーになる。
# -*- coding: utf-8 -*-
import sys
sys.setdefaultencoding('UTF-8')
"""
Traceback (most recent call last):
File "<stdin>", line 1, in ?
AttributeError: 'module' object has no attribute 'setdefaultencoding'
"""
ちなみにPHPだと以下のようになる。
mb_internal_encoding('utf-8');
■入出力の文字コード
標準入出力の文字コードだって指定したい。
import sys
import codecs
sys.stdin = codecs.getreader('utf_8')(sys.stdin)
sys.stdout = codecs.getwriter('utf_8')(sys.stdout)
まぁ、コンナ感じ。
■ファイル
あとはファイルの文字コードがあるね。
import codecs
fin = codecs.open('hoge.txt', 'r', 'utf_8')
fout = codecs.open('fuga.txt', 'w', 'utf_8')
PHPだとmb_convert_encodingだよね。
■結論
日本語ってめんどい。。。゜(´□`。)°゜
TrackBack URL :
Comments (0)
コメントはまだありません»
コメントはまだありません。
この投稿へのコメントの RSS フィード。TrackBack URL
コメントする