Настройка правильного отображения шведских символов в командной строке Windows с использованием Python в Notepad ++ - PullRequest
3 голосов
/ 18 апреля 2010

Название объясняет это хорошо. Я настроил Notepad ++ для открытия скрипта Python в командной строке, когда я нажимаю F8 , но все шведские символы выглядят запутанными при открытии в CMD, но прекрасно работают, например, в IDLE.

Этот простой пример кода:

#!/usr/bin/env python
#-*- coding: UTF-8 -*-
print "åäö"

Похоже, это .

Как вы можете видеть вывод командного файла, который я использую для открытия Python в cmd ниже, правильно показывает символы, но не скрипт Python над ним. Как это исправить? Я просто хочу показать персонажей правильно, я не обязательно использую UTF-8.

Я открываю файл в cmd, используя этот метод .

Обновление: решено. Добавлена ​​строка "chcp 1252" вверху командного файла, а затем строка cls под ним, чтобы удалить сообщение о том, какую кодировку символов он использует. Затем я использовал "# - - coding: cp1252 - -" в скрипте python и изменил шрифт в cmd на Lucida Console. Это можно сделать, щелкнув значок cmd в правом верхнем углу окна cmd и перейдя в свойства.

Ответы [ 4 ]

4 голосов
/ 18 апреля 2010

Вы печатаете байты UTF-8, но ваша консоль не настроена на UTF-8. Либо напишите Unicode как UTF-16, либо установите кодовую страницу консоли в UTF-8.

print u"åäö"
0 голосов
/ 31 июля 2014

Установить кодировку: # -*- coding: ISO-8859-1 -*-

Это сработало для меня, и я попробовал множество различных решений, чтобы заставить его работать с Visual Studio IDE для Python.

# -*- coding: ISO-8859-1 -*-
print ("åäö")
0 голосов
/ 15 августа 2012

У меня была такая же проблема, и я использовал cp1252

C:> chcp 1252

Это заставило консоль использовать кодировку 1252, а затем я запустил программу, которая с милосердием отображала шведские символы.

0 голосов
/ 19 апреля 2010

Python обычно преобразует строки Unicode в кодировку консоли Windows. Обратите внимание, что для правильного использования Юникода вам нужны строки Юникода (например, u'string ') и необходимо объявить кодировку, в которой сохранен файл, с помощью строки coding:.

Например, это (сохранено в UTF-8 как x.py в моей системе):

# coding: utf8
print u"åäö"

Производит это:

C:\>chcp
Active code page: 437

C:\>x
åäö

Вы сможете успешно печатать только те символы, которые поддерживаются активной кодовой страницей.

...