2017-02-05 13 views
1

Возможно, я наткнулся на то, что кажется ошибкой с тем, как rabbitmqadmin обрабатывает (или фактически не обрабатывает) unicode.rabbitmqadmin не может обрабатывать unicode?

Если у меня есть очередь с символами юникода в имени очереди, команда rabbitmqadmin завершится с UnicodeEncodeErrors.

Я запускаю RabbitMQ 3.6.6 на Mac, установленный через Homebrew. И команда администратора, и сервер имеют одинаковую версию.

шаги, как воспроизвести проблему с именем очереди:

  1. Создание очереди с юникода в нем: «rabbitmqadmin имя очереди объявляют = ööö».
  2. Список очереди: 'rabbitmqadmin списка очереди'

Выходное:

Traceback (most recent call last): 
    File "/usr/local/sbin/rabbitmqadmin", line 1007, in <module> 
    main() 
    File "/usr/local/sbin/rabbitmqadmin", line 413, in main 
    method() 
    File "/usr/local/sbin/rabbitmqadmin", line 588, in invoke_list 
    format_list(self.get(uri), cols, obj_info, self.options) 
    File "/usr/local/sbin/rabbitmqadmin", line 705, in format_list 
    formatter_instance.display(json_list) 
    File "/usr/local/sbin/rabbitmqadmin", line 716, in display 
    (columns, table) = self.list_to_table(json.loads(json_list), depth) 
    File "/usr/local/sbin/rabbitmqadmin", line 770, in list_to_table 
    add('', 1, item, add_to_row) 
    File "/usr/local/sbin/rabbitmqadmin", line 749, in add 
    fun(column, subitem) 
    File "/usr/local/sbin/rabbitmqadmin", line 756, in add_to_row 
    row[column_ix[col]] = str(val) 
UnicodeEncodeError: 'ascii' codec can't encode characters in position 12-13: ordinal not in range(128) 

У меня есть аналогичные проблемы с 'rabbitmqadmin получить очереди =', когда полезная нагрузка сообщения содержит Юникод символ (ы).

ответ

1

Я думаю, что вы правы, вы можете использовать python3, check this answer объясняет, почему с python3 работает.

EDIT

1 - я подал issue

2 - Исправлено в версии: 3.6.7 увидеть PR