Я был перенаправлен здесь, потому что у меня есть та же проблема. Я также попробовал обходное решение Troy Howard, но это, кажется, не работает.
подход я сделал на этом, больше не должен использовать объект ответа записать файл на лету. Так как PDF является уже существующим на сервере, что я сделал должен был перенаправить мою страницу, указывающую на тот файл PDF. Работает отлично.
http://forums.asp.net/t/143631.aspx
я надеюсь, что мое неопределенное объяснение дало Вам общее представление.
Это символ Юникода, который, похоже, не отображается в кодировке вашего терминала. print
пытается закодировать объект unicode в кодировке вашего терминала, и если это не может быть сделано, вы получите исключение.
На терминале, который может отображать utf-8, вы получите:
>>> print u'\u3053'
こ
Кажется, ваш терминал не может отображать utf-8, иначе как минимум строка print a.encode ("utf-8")
должна выдавать правильный символ.
Вы спросите:
u '\ u3053 \ n'
Это utf-16 ?
Ответ - нет: это юникод, а не какая-то конкретная кодировка. utf-16 - это кодировка.
Чтобы эффективно вывести строку Unicode на ваш терминал, вам необходимо выяснить, какую кодировку этот терминал готов принять и может отображать. Например, Terminal.app на моем ноутбуке настроен на UTF-8 и с богатым шрифтом, поэтому:
(источник: aleax.it )
... буква хирагана отображается правильно. На рабочей станции Linux у меня есть терминальная программа, которая постоянно сбрасывается на Latin-1, поэтому она может испортить вещи, похожие на вашу - я могу установить ее на utf-8, но у нее нет большого количества глифов в шрифте, поэтому вместо этого он будет отображать несколько бесполезные глифы-заполнители.
Символ U + 3053 «HIRAGANA LETTER KO».
Бит \ xff \ xfe
в начале двоичного формата UTF-16 - это порядок байтов в кодировке. mark (U + FEFF), тогда "S0" будет \ x5e \ x30
, затем \ n
из исходной строки. (У каждого из символов байты «перевернуты», поскольку используется кодировка UTF-16 с прямым порядком байтов.)
Форма UTF-8 представляет тот же символ хираганы в трех байтах с битовой комбинацией, описанной здесь .
Теперь, что касается того, действительно ли вы должны иметь это в вашем наборе данных ... откуда эти данные берутся? Разумно ли для него использовать символы хираганы?
Вот Юникод HowTo Doc для Python 2.6.2:
http://docs.python.org/howto/unicode.html
См. Также ссылки в разделе «Справочная информация» этого документа для других объяснений, включая одно от Джоэла Спольски.