Тук трябва да се отбележат две точки. Едната е, че в идеалния случай всички кодировки на знаци трябва да бъдат UTF8
- това е сървър, клиент, връзка и таблица. Второ е strlen
на PHP функцията брои байтове, а не знаци.
Вашият набор от символи в таблицата може да не е зададен на UTF8
. Можете да направите
SHOW CREATE TABLE chemicals;
да проверя това. Трябва също да ги добавите към вашия my.cnf
:
[mysqld]
character-set-client=utf8
character-set-results=utf8
Прочетете повече за MySQL символните набори тук: