gpt4 book ai didi

python - Pyramid 可以将默认的 request.charset 从 utf-8 更改为 gbk 吗?

转载 作者:行者123 更新时间:2023-11-28 23:01:23 25 4
gpt4 key购买 nike

我是 Pyramid 的新手。我使用 python2.7、MSSQL、slqalchemy.mssql 并使用 gbk 字符集,而且我有很多旧数据。所以我把前面的html改成编码为gbk,使用如下代码:

@view_config(route_name='g', renderer='json')
def my_view1(request):
  print 2
  print request.charset
  print 1
  print isinstance(request.params['one'], str)
  if request.params['one']:
    print request.params['one']
    filters = (Bzjl.one == request.params['one'])
  try:
    two1 = DBSession.query(Bzjl).filter(filters)
  except DBAPIError:
    return Response(conn_err_msg, content_type='text/plain', status_int=500)
  return Response(getjson(two1))

示例 url:http://127.0.0.1:6543/g?one='中国福建' 不返回任何行:{"records": 0, "total": 20 , "行数": [], "页数": 1}

最佳答案

Pyramid 支持请求工厂。您可以使用它来解码请求。

def request_factory(environ):
req = pyramid.request.Request(environ)
return req.decode(charset='gbk')

config.set_request_factory(request_factory)

这意味着在 Pyramid 内传递的请求将使用 gbk 字符集。使用此字符集解码请求失败将导致 UnicodeDecodeError 异常,因此您可能需要向请求工厂添加额外的逻辑来处理这些事情。

关于python - Pyramid 可以将默认的 request.charset 从 utf-8 更改为 gbk 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11060681/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com