Pythonで日本語を使う方法は、Pythonのバージョンとともに変化(充実)してきているようです。現在、Python 2.7を使っていますが、追加インストールすることなく日本語(UTF-8)が使えます。
UTF-8を使うにはスクリプトの先頭に(2行目でも良いらしいです)以下のコードを記述します。
#coding: UTF-8
これで文字列中の日本語はUTF-8として扱われます。たとえば、次のスクリプト(test.py)を、
#coding: UTF-8 print "ねこや書店"
次のように実行して、
python test.py
ファイルに書き出して確認すると、UTF-8で書き込まれていることが確認できます。これでも間違いではないと思いますが、通常は文字列リテラルの前にuを付けてunicode文字列を生成する方が、ShiftJIS等への変換もできて便利な場合が多いです。
str1 = u"ねこや書店" str2 = u"古本"しかしこれを使って、次のように書くことはできません。
print u"ねこや書店"
これはprintがunicode型を受け取れないからだと理解しています。このエラーを避けるには、次のようにencodeメソッドを使います。
print u"ねこや書店".encode('utf-8')
ShiftJISやEUCを使う場合も、まずスクリプトの先頭で#coding: UTF-8を記述して、unicodeオブジェクトを作ります。 そして、encodeメソッドを使って、ShiftJISやEUCに変換します。
#coding: UTF-8 str u"ねこや書店" #print u.encode('utf-8') # UTF-8で出力する場合 print str.encode('shift-jis') # ShiftJISで出力する場合 #print str.encode('euc-jp') # 日本語EUCで出力する場合