PHPとMySQL間の接続のエンコーディングを設定するのはPHPの仕事です。 MySQLの設定がそれに影響を与えるとは思わない。
接続文字セットをUTF-8に設定するために、アプリケーションにいくつかのコードを保持することを強くお勧めします。アプリケーションは、エンコーディングがUTF-8であることを確認する必要があります。これは、おそらくWebブラウザにそのページがUTF-8であると通知し、それらが一致しない場合は問題が発生するためです。
文字セットを決定するのはすでにアプリケーションの責任の一部であるため、アプリケーションを展開の問題として残すのではなく、データベース接続の文字セットを指定するアプリケーションにし、アプリをインストールするときに間違いを犯す可能性があります。新しいサーバー。
ただし、個人的にはmysql_set_charset
を使用します。 SET NAMES
ではなくこれを行う 。
同様に、アプリケーションにスキーマを作成するためのコードが含まれている場合は、データベースのデフォルト設定のままにして別のデプロイメントの問題を心配するのではなく、コードがMySQLにテーブルをUTF-8にするように指示していることを確認してください。