Я пытаюсь выяснить PyObjC в Mac OS X, и я написал простую программу для распечатки имен в моей адресной книге. Однако у меня возникли проблемы с кодировкой вывода.
#! /usr/bin/env python
# -*- coding: UTF-8 -*-
from AddressBook import *
ab = ABAddressBook.sharedAddressBook()
people = ab.people()
for person in people:
name = person.valueForProperty_("First") + ' ' + person.valueForProperty_("Last")
name
когда я запускаю эту программу, вывод выглядит примерно так:
...snip...
u'Jacob \xc5berg'
u'Fernando Gonzales'
...snip...
Может кто-нибудь объяснить, почему строки в юникоде, а содержимое выглядит так?
Я также заметил, что когда я пытаюсь напечатать имя, я получаю сообщение об ошибке
UnicodeEncodeError: 'ascii' codec can't encode character u'\xc5' in position 6: ordinal not in range(128)