1

我正在尝试在 pika 上发布一个 unicode 字符串。当我发送它时,我收到以下消息:

UnicodeEncodeError: 'ascii' codec can't encode characters in position 6-20: ordinal not in range(128)
    self.write(data)
  File "/usr/lib/python2.7/site-packages/pika/simplebuffer.py", line 62, in write
    self.buf.write(data)

环顾四周,似乎我必须使用 pika.BasicProperties 将字符集或内容类型设置为 UTF-8,但我找不到该类的文档。

我应该设置什么来发布 unicode 数据?

4

1 回答 1

0
 properties = BasicProperties(
        app_id=self.app_id,
        content_type='application/json',
        content_encoding='utf-8',
        delivery_mode=2,
    )
channel.basic_publish(exchange=exchange,
                          routing_key=routing_key,
                          body=message_body,
                          properties=properties)
于 2018-06-14T11:32:37.573 回答