If your searches on that field are always going to be accent-sensitive, then declare the collation of the field as utf8_bin (that’ll compare for equality the utf8-encoded bytes) or use a language specific collation that distinguish between the accented and un-accented characters.
col_name varchar(10) collate utf8_bin
If searches are normally accent-insensitive, but you want to make an exception for this search, try;
WHERE col_name="abád" collate utf8_bin
Update for MySQL 8.0, plus addressing some of the Comments and other Answers:
- The
CHARACTER SETmatches the beginning of theCOLLATION. - Any
COLLATIONname ending in_binwill ignore both upper/lower case and accents. Examples:latin1_bin,utf8mb4_bin. - Any
COLLATIONname containing_as_will ignore accents, but do case folding or not based on_civs_cs. - To see the collations available (on any version), do
SHOW COLLATION;. utf8mb4is now the default charset. You should be using that instead ofutf8.- It is better to have the
CHARACTER SETandCOLLATIONset ‘properly’ on each column (or defaulted by the table definition) than to dynamically use any conversion routine such asCONVERT().