Ci sono due punti da fare qui. Uno è che idealmente tutte le codifiche dei caratteri devono essere UTF8 - questo è server, client, connessione e tabella. Il secondo è quello strlen di PHP la funzione conta i byte, non i caratteri.
Il set di caratteri della tabella potrebbe non essere impostato su UTF8 . Puoi farlo
SHOW CREATE TABLE chemicals;
per verificarlo. Dovresti anche aggiungerli al tuo my.cnf :
[mysqld]
character-set-client=utf8
character-set-results=utf8
Maggiori informazioni sui set di caratteri MySQL qui: