Как визуализировать арабские струны в каркасе бутылки? - PullRequest
5 голосов
/ 10 сентября 2011

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

@route('/hello')
def hello():
    return u'سلام'

Я получаю это сообщение об ошибке в терминале:

SyntaxError: Не-ASCII символ '\ xd8' в файле hello.py в строке 15, но кодировка не объявлена; см http://www.python.org/peps/pep-0263.html для деталей

Я импортировал все из бутылки и попытался добавить другие методы, упомянутые в документах , где говорится об «изменении кодировки по умолчанию», однако мне не удалось решить проблему. Поэтому я ценю ваши намеки.

Ответы [ 4 ]

7 голосов
/ 23 марта 2012

Вот мой код для тестирования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from bottle import *

@route('/hello')
def hello():
    return u'سلام'

run(host='127.0.0.1', port=8080,reloader=True)

В моем редакторе я выбираю Файл> Сохранить как ..., затем выбираю Юникод (UTF-8) в качестве кодировки текста и сохраняю как hello.py

Затем загрузите последнюю версию bottle.py с github и поместите ее в ту же папку (например, bottle-test) с помощью hello.py

Запустите его, и, похоже, никаких проблем.

~$ python --version
Python 2.6.7
~$ cd bottle-test
bottle-test$ python hello.py 

Result in browser

5 голосов
/ 10 сентября 2011

просто добавьте

# -*- coding: whatever-encoding-you-use -*-

в начало вашего файла

2 голосов
/ 10 сентября 2011

Вверху вашего скрипта введите это:

# encoding: utf-8

Дело в том, что ваш скрипт может работать с кодировкой latin1 (ISO 8859-1), которая ограничена по сравнению с UTF-8

2 голосов
/ 10 сентября 2011

Сохраните ваш файл как utf-8 и вставьте

#encoding: utf-8

в качестве первой строки вашего файла

...