読者です 読者をやめる 読者になる 読者になる

tweeeetyのぶろぐ的めも

アウトプットが少なかったダメな自分をアウトプット<br>\(^o^)/

pythonScripterでUnicodeEncodeError

pythonScripterをためしに使ってみてから早5分
いきなりエラーでつまづきました。

print 'test'

のみのコードなのになぜ。。(ノд-。)クスン

UnicodeEncodeError: 'ascii' codec can't encode characters in position 33-38: ordinal not in range(128)

まぁエラーに出てるとおり日本語的な問題かと思い
いろいろ検索しました。

まずはこちらを参考に設定を修正
要はエディタとインタプリタのフォントの設定とお決まりのファイルの文字コード指定(# -*- coding: utf-8 -*-)なんだけど
ファイル文字コード指定は確かに怪しい!と思いつつ
再度実行。

結果また同じエラー。。。(ノ_・。)

その後も検索でもあまり有益な情報は得られず。。。
同じような質問をしている人もいたが回答としては「ファイルの33-38バイトに変な文字が入ってんじゃないのか」と。

でも、デフォで入ってるコメント以外はprint文しか打ってない(>_<)
ためしにコメント全部消してみたりいろいろしてみるもののエラーの内容はまったく変わらず。

また前途多難なのかなー。。。。
と、思っていたらヒントになる情報を見つけました。
これも同じエラーが出てっていうFAQぽい。自分はコメントとか全部消しててもエラーの「position 33-38」が変わらなかったけどこの人のは「1-6」になってる。そこで気づきました。
この人がエラってるスクリプトのファイル名は「модуль1.py」
ファイル名が明らかおかしいw

そんで自分のファイル名というかパスも確認してみたところ
windows環境でデスクトップにテストコード用のフォルダ作って保存していたのでパスに日本語やスペースが入ってる。。。
しかも33バイト目くらいに。

これだ!と思ってC直下にフォルダ作り直して実行してみたら
無事エラーでなくなって正常動作しました(*'∇')/゚