ここで2つのポイントがあります。 1つは、理想的にはすべての文字エンコードがUTF8
でなければならないということです。 -それはサーバー、クライアント、接続、そしてテーブルです。 2つは、PHPのstrlen
関数は文字ではなくバイトをカウントします。
テーブルの文字セットがUTF8
に設定されていない可能性があります 。できる
SHOW CREATE TABLE chemicals;
それを確認します。これらもmy.cnf
に追加する必要があります :
[mysqld]
character-set-client=utf8
character-set-results=utf8
MySQL文字セットの詳細についてはこちらをご覧ください: