我这样输出: async def stream_results() -> AsyncGenerator[bytes, None]: async for request_output in results_generator: prompt = request_output.prompt # print(request_output.outputs.text) text_outputs = [ prompt + output.text for output in request_output.outputs ] ret = {"text": text_outputs} print(ret) # yield ret yield (json.dumps(ret) + "\0").encode("utf-8") background_tasks = BackgroundTasks() background_tasks.add_task(engine.abort, request_id) return StreamingResponse(stream_results(), background=background_tasks)返回到客户端的是utf-8的编码,如何让客户端变成汉字?
时间: 2024-02-14 12:24:46 浏览: 244
要让客户端正确解码为汉字,你可以在返回的 StreamingResponse 中设置正确的 Content-Type 头部,指定编码为 UTF-8。这样客户端就会按照指定的编码进行解码。
例如,你可以在返回 StreamingResponse 的时候添加一个 `content_type` 参数,设置为 `'application/json; charset=utf-8'`,示例如下:
```python
return StreamingResponse(stream_results(), background=background_tasks, content_type='application/json; charset=utf-8')
```
这样客户端就会正确将接收到的数据按照 UTF-8 编码进行解码,显示为汉字。
阅读全文