search cancel

"Format incorrect" error thrown in JMeter test with Thai characters in CSV file used by the test

book

Article ID: 214365

calendar_today

Updated On:

Products

BlazeMeter

Issue/Introduction

"Format incorrect" error thrown when running a JMeter test locally or from BlazeMeter when a CSV file used by the test contains Thai language characters:

Example:
"thfirstname": "สินชัย"
"thlastname": "ถิระวงศ์ไพศาล"

Cause

JMeter must be configured to use UTF-8 and the format of any CSV file that contains Thai characters must be UTF-8

Environment

Release :  SAAS

Component : BLAZEMETER PERFORMANCE TESTING

Resolution

JMeter should support using CSV files that contain Thai characters.  Check that the following is set in the test:

1.  Make sure that the file.encoding in the system.properties file is set to UTF-8 when running locally.

file.encoding=UTF-8

When running from BlazeMeter, a custom system.properties file with the changes can be uploaded to the test in addition to the test script and supporting files.  BlazeMeter will pick up those properties and run the test with them.

2.  By default, the csvdataset.file.encoding_list contains UTF-8 in the jmeter.properties file when running a test from BlazeMeter.  Make sure it is set when testing locally.

csvdataset.file.encoding_list=UTF-8|UTF-16|ISO-8859-15|US-ASCII

3.  By default the sampleresult.default.encoding is commented out and set to ISO-8859-1 in the jmeter.properties file when running a test from BlazeMeter.  Make sure it is uncommented and set to UTF-8 when testing locally.

sampleresult.default.encoding=UTF-8

When testing from BlazeMeter, it would be necessary to add this by configuring this property in a user.properties file and uploading this custom file to the test along with the test script and any supporting files.  The other option is to define this property in the test itself by following the instructions found in the JMeter Properties article.

4.  Make sure that the CSV file containing the Thai characters is stored as UTF-8 (not ANSI or whatever is the default encoding of the local Operating System) when testing locally.  When testing from BlazeMeter, make sure a UTF-8 version of the CSV file is uploaded to the test.