Há dois pontos a serem feitos aqui. Uma é que, idealmente, todas as codificações de caracteres devem ser
UTF8 - isso é servidor, cliente, conexão e tabela. Dois é que o strlen do PHP função conta bytes, não caracteres. Seu conjunto de caracteres de tabela pode não estar definido como
UTF8 . Você pode fazer SHOW CREATE TABLE chemicals;
para verificar isso. Você também deve adicioná-los ao seu
my.cnf :[mysqld]
character-set-client=utf8
character-set-results=utf8
Leia mais sobre conjuntos de caracteres MySQL aqui:
Conjuntos de caracteres MySQL