2017-02-05 56 views
1

我可能偶然發現了一個看起來像rabbitmqadmin處理(或者實際上,不處理)unicode的bug。rabbitmqadmin無法處理unicode?

如果我有一個在隊列名稱中有unicode字符的隊列,rabbitmqadmin命令會失敗並顯示UnicodeEncodeErrors。

我在Mac上運行RabbitMQ 3.6.6,通過Homebrew安裝。管理員命令和服務器都是相同的版本。

步驟如何重現隊列名稱問題:

  1. 在它創建的unicode隊列:「rabbitmqadmin申報隊列名稱='000」。
  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得到隊列=' 類似的問題時,該消息有效載荷包含Unicode字符(S)。

回答

1

我認爲你是對的,你可以使用python3,檢查this answer它解釋了爲什麼用python3的作品。

EDIT

1 - I提起issue

2 - 固定爲版本:3.6.7看到PR