There seems to be a problem with the encoding.
Try this request:
SELECT HEX(CAST('product name here in utf-8 encoding, can be various languages' AS BINARY))
in both ezSQL and the query browser and compare the results.
This will give you the binary stream that MySQL actually receives from your client and uses in comparison.
If you set the connection encoding in the ezSQL properties ezSQL , the string may be distorted (for example, question marks instead of UTF ).
In this case, the comparison will certainly fail.
Update:
Try forcing case insensitive case:
SELECT * FROM table WHERE field LIKE 'product name here in utf-8 encoding, can be various languages' COLLATE UTF8_GENERAL_CI
In addition, can you send a binary dump of both your string and the data contained in the field?
SELECT p_pid, p_name, p_cat, HEX(CAST(p_name AS BINARY)), HEX(CAST('product name here in utf-8 encoding, can be various languages' AS BINARY)) FROM products WHERE p_pid = @pid_of_product_that_should_match_but_it_doesnt
source share