Использование символа юникода u201c

Я новичок в python, и у меня проблемы с пониманием unicode. Я использую Python 3.4. Я потратил целый день, пытаясь понять это, прочитав об Unicode, включая http://www.fileformat.info/info/unicode/char/201C/index.htm и http://python-notes.curiousefficiency.org /en/latest/python3/text_file_processing.html

Мне нужно ссылаться на специальные кавычки, потому что они используются в тексте, который я анализирую. Я проверил, что командное окно W7 может читать и писать два специальных символа кавычек. Чтобы все было просто, я написал сценарий с одной строкой:

print ('“') # that's the special quote mark in between normal single quotes 

и получить этот результат:

 Traceback (most recent call last): File "C:\Users\David\Documents\Python34\Scripts\wordCount3.py", line 1, in <module> print ('\u201c') File "C:\Python34\lib\encodings\cp437.py", line 19, in encode return codecs.charmap_encode(input,self.errors,encoding_map)[0] UnicodeEncodeError: 'charmap' codec can't encode character '\u201c' in position 0: character maps to <undefined> 

Итак, как мне написать что-то, чтобы ссылаться на эти два символа u201C и u201D ?

Является ли это правильным выбором кодировки в открытом заявлении файла?

 with open(fileIn, mode='r', encoding='utf-8', errors='replace') as f: 

Причина в том, что в 3.x Python Вы не можете просто смешивать строки Unicode с байтовыми строками. Возможно, вы прочитали руководства, касающиеся Python 2.x, где такие вещи возможны, если bytestring содержит конвертируемые символы.

 print('\u201c', '\u201d') 

отлично работает для меня, поэтому единственная причина в том, что вы используете неправильную кодировку для исходного файла или терминала.

Кроме того, вы можете явно указать python на кодовую страницу, которую вы используете, выбирая следующую строку ontop вашего источника:

  # -*- coding: utf-8 -*- 

Добавлено: кажется, что вы работаете на компьютере с Windows, если вы можете изменить кодовую страницу консоли на utf-8, запустив

 chcp 65001 

прежде чем вы запустите свой интерпретатор python. Эти изменения будут временными, и если вы хотите перманентный, запустите следующий .reg-файл:

 Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Console] "CodePage"=dword:fde9