2

再接続によって接続エンコーディングが切り替わらないようにするにはどうすればよいですか?私の設定はすべてutf-8ですが、cliのphp.iniでこの関数を有効にしたので、何でもテストしました...そして、長時間動作するスクリプトがある場合は、スクリプトの任意のポイントで接続します。が切り替えられ、データが間違っています。もう一度無効にした後は、すべて問題ありません。しかし、なぜそうなのですか?この接続エンコーディングの切り替えを防ぐには、my.cfgにどのような設定を設定する必要がありますか?

乾杯ニック

4

1 に答える 1

1

MySQLドキュメントから:

自動再接続を有効にしてmysqlクライアントを使用している場合(これは推奨されません)、SETNAMESではなくcharsetコマンドを使用することをお勧めします。例えば:

 mysql> charset utf8
 Charset changed

charsetコマンドは、SET NAMESステートメントを発行し、接続が切断された後にmysqlが再接続するときに使用するデフォルトの文字セットも変更します。したがって、これを発行します。

 mysqli_query('charset utf8');

または、使用している文字セット(UTF8以外の場合)。これで問題が解決するはずです。

于 2010-12-12T16:30:37.137 に答える