1
我可能偶然發現了一個看起來像rabbitmqadmin處理(或者實際上,不處理)unicode的bug。rabbitmqadmin無法處理unicode?
如果我有一個在隊列名稱中有unicode字符的隊列,rabbitmqadmin命令會失敗並顯示UnicodeEncodeErrors。
我在Mac上運行RabbitMQ 3.6.6,通過Homebrew安裝。管理員命令和服務器都是相同的版本。
步驟如何重現隊列名稱問題:
- 在它創建的unicode隊列:「rabbitmqadmin申報隊列名稱='000」。
- 列表隊列: '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)。