在使用 JMeter 進行 JDBC 查詢數據庫時,sql 語句使用英文和數字可以查詢到記錄,而使用中文則查詢不到記錄,而且使用相同的中文語句,可以在終端命令上和數據庫管理工具上也可以查詢到。
原因
以上問題是因為數據庫使用的編碼與jmeter 查詢時,使用的編碼不一致,導致查詢的條件轉換后不一致,導致查詢不到正確記錄或查詢到錯誤記錄。
JMeter 的默認編碼是ISO-8859-1,而 mysql 數據庫因為要存儲中文信息,所以一般使用utf-8。在 JMeter 上填寫的中文查詢語句經字符編碼轉換到 mysql 上,不是之前填寫的中文字段,導致查詢條件失效,自然就無法查詢到正確的結果了。
解決辦法
在 JMeter 的 jdbc 鏈接配置插件上,連接 mysql 的 url上加useUnicode=true&characterEncoding=UTF-8即可解決問題。

JMeter 查詢數據庫編碼設置.png