2013-08-23 8 views
10

Mam plik UTF-8 cjk.py:Ustawić Notepad ++ i NppExec drukować znaki Unicode z pytona

print("打印") 

Nic więc dziwnego, bieganie python cjk.py plony

Traceback (most recent call last): 
    File "cjk.py", line 1, in <module> 
    print('\u6253\u5370') 
    File "C:\Python33\lib\encodings\cp850.py", line 19, in encode 
    return codecs.charmap_encode(input,self.errors,encoding_map)[0] 
UnicodeEncodeError: 'charmap' codec can't encode characters in position 0-1: character maps to <undefined> 

jednak uruchomione idle -r cjk.py działa perfekcyjnie:

打印 

Czy mogę skonfigurować wtyczkę NppExec notepad ++, aby zachowywała się jak bezczynna? Próbowałem ustawić kodowanie wejścia i wyjścia na UTF-8, bez rezultatu (taki sam wyjątek jak podczas pracy z konsolą python cjk.py)

+0

Witam, sam napotykam ten sam problem. Czy znalazłeś rozwiązanie swojego problemu? – 5xum

+0

@ Clément Nie widzę tego samego problemu, ale drukuje zawartość '打印'. Użyłem tej linii '# coding = utf-8' na górze programu. Jakiej wersji Pythona używasz? – stackoverflowery

+0

Nie określasz, która wersja Pythona i której wersji i której wersji systemu operacyjnego używasz. Zgaduję, że jest to Python 3.3 i pewna wersja Windowsa, być może Windows 7, zlokalizowana na francuski, jak używana we Francji. Czy jestem kimś poprawnym? –

Odpowiedz

3

Miałem ten sam problem i naprawiłem go.

Dodaj env_set PYTHONIOENCODING=utf-8 tuż poniżej C:\Python27\python.exe "$(FULL_CURRENT_PATH)" w oknie dialogowym po naciśnięciu F6.

Pracowałem dla mnie jak urok, mam nadzieję, że to pomoże.

Źródło: http://sourceforge.net/p/npp-plugins/discussion/672146/thread/d94ff609/

+0

Należy również zaktualizować opcję Wyjście konsoli NppExec do opcji UTF-8, w przeciwnym razie znaki nie będą drukowane poprawnie. – yoyo