0

我有一个有点难以解释的问题。我将 devsniper 的应用程序“客户”作为基础,为本地计算机商店启动 POS 系统。原始应用程序使用 MySQL,但是此应用程序使用我客户的原始数据至关重要。所以我有两个选择:

1)我可以将 SQLite 数据库迁移到 MySQL 数据库
2)我可以修改程序以使用 SQLite 数据库(首选)

但是,每当我尝试打开客户页面时,都会得到以下信息:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 0: ordinal not in range(128)

我不知道从哪里开始详细说明我的问题,因为没有详细说明导致此问题的确切原因,但是我将从追溯开始。

Traceback (most recent call last):
  File "/home/tabras/posenv/local/lib/python2.7/site-packages/pyramid-1.4.2-py2.7.egg/pyramid/mako_templating.py", line    232, in __call__
result = template.render_unicode(**system)
  File "/home/tabras/posenv/local/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/template.py", line 452, in     render_unicode
as_unicode=True)
  File "/home/tabras/posenv/local/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/runtime.py", line 783, in _render
**_kwargs_for_callable(callable_, data))
  File "/home/tabras/posenv/local/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/runtime.py", line 815, in _render_context
_exec_template(inherit, lclcontext, args=args, kwargs=kwargs)
  File "/home/tabras/posenv/local/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/runtime.py", line 841, in _exec_template
callable_(context, *args, **kwargs)
  File "/home/tabras/posenv/customers/customers/templates/base/index.html", line 102, in render_body
${next.body()}
  File "/home/tabras/posenv/customers/customers/templates/customer/list.html", line 19, in render_body
<%include file="listPartial.html"/>
  File "/home/tabras/posenv/local/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/runtime.py", line 710, in _include_file
callable_(ctx, **_kwargs_for_include(callable_, context._data, **kwargs))
  File "/home/tabras/posenv/customers/customers/templates/customer/listPartial.html", line 50, in render_body
${pager(customers)}
  File "/home/tabras/posenv/customers/customers/templates/base/uiHelpers.html", line 10, in render_pager
${items.pager(format="$link_previous ~2~ $link_next",
  File "/home/tabras/posenv/local/lib/python2.7/site-packages/WebHelpers-1.3-py2.7.egg/webhelpers/paginate.py", line 716, in pager
    self._pagerlink(self.next_page, symbol_next) or ''
  File "/home/tabras/posenv/local/lib/python2.7/site-packages/WebHelpers-1.3-py2.7.egg/webhelpers/paginate.py", line 855, in _pagerlink
return HTML.a(text, href=link_url, onclick=onclick_action, **self.link_attr)
  File "/home/tabras/posenv/local/lib/python2.7/site-packages/WebHelpers-1.3-py2.7.egg/webhelpers/html/builder.py", line 213, in __call__
return make_tag(self._tag, *args, **kw)
  File "/home/tabras/posenv/local/lib/python2.7/site-packages/WebHelpers-1.3-py2.7.egg/webhelpers/html/builder.py", line 308, in make_tag
chunks.extend(escape(x) for x in args)
  File "/home/tabras/posenv/local/lib/python2.7/site-packages/WebHelpers-1.3-py2.7.egg/webhelpers/html/builder.py", line 308, in <genexpr>
chunks.extend(escape(x) for x in args)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 0: ordinal not in range(128)

发布解决方案编辑:

问题出在这里:

${items.pager(format="$link_previous ~2~ $link_next", 
                  symbol_previous="«", 
                  symbol_next="»",
                  link_attr=link_attr,
                  curpage_attr=curpage_attr,
                  dotdot_attr=dotdot_attr,
                  onclick="$('.list-partial').load('%s'); return false;")}

出于某种原因,“»”字符及其对应字符正在抛出错误。我只是将它们更改为标准的 ascii 字符,一切都是金色的。

4

1 回答 1

0

是的,你关于放慢迈克尔的速度是对的——这是一个非常简单的错误。在 uiHelpers.html 中有一个 unicode 字符“»”,由于某种原因导致了问题。只需将其更改为“>”,它就是金色的。这是一个很好的教训,可以更仔细地阅读回溯,感谢您的反馈。

-塔布拉斯

于 2013-07-03T02:09:43.310 回答