Il y a deux points à souligner ici. La première est que, idéalement, tous les encodages de caractères doivent être UTF8
- c'est le serveur, le client, la connexion et la table. Deux est que PHP strlen
la fonction compte les octets, pas les caractères.
Le jeu de caractères de votre tableau n'est peut-être pas défini sur UTF8
. Vous pouvez faire
SHOW CREATE TABLE chemicals;
pour vérifier ça. Vous devez également les ajouter à votre my.cnf
:
[mysqld]
character-set-client=utf8
character-set-results=utf8
En savoir plus sur les jeux de caractères MySQL ici :