我們在使用JMeter的過程中,有時候會要到亂碼的問題。原因應該是響應頁面沒有做編碼處理,jmeter默認按照ISO-8859-1編碼格式進行解析而服務器又是按照UTF8編碼進行進行解析的。我們需要處理成同一種編碼格式才不會出現亂碼,解決思路為:如果請求中有中文信息導致亂碼,則在請求中處理為UTF8。如果是響應有中文信息導致亂碼,則使用Bean Shell后置處理程序進行處理即可。具體實現方式如下:
一、新增的時候出現亂碼


方法一:
添加HTTP請求時在Content encoding后填入編碼:utf-8,也可以通過添加HTTP 請求默認值控制器的內容編碼中添加UTF8
看一下結果:沒有亂碼了
注:該方法針對請求包含中文的時候使用,如果響應的時候有中文是無法解決亂碼問題的。
方法二:
在請求中加一個BeanShell前置處理器,在script中加入:prev.setDataEncoding("utf-8");目的還是修改請求數據編碼格式為utf-8,同方法一類似。

方法三
在請求中加一個BeanShell后置處理器,在script中加入:prev.setDataEncoding("utf-8");這種是針對於響應帶有中文導致亂碼,雖然和BeanShell前置處理器只有一字之差,但是結果大相徑庭。

方法四
修改JMeter的配置文件
進入JMeter安裝目錄的bin目錄下,找到jmeter.properties文件

找到sampleresult.default.encoding這個參數,此行默認是注釋的。把注釋去掉,把ISO-8859-1改成utf-8,保存,重啟JMeter。

