0

重複の可能性:
MySQLで名前utf8を設定しますか?

MySQLデータベースに接続するためのPHPを作成しています。エンコーディングをUTF8に設定する例を見てきましたmysql_query("SET NAMES utf8");

なぜこれが行われるのですか?これを行うことの利点は何ですか?また、どのような問題を回避できますか?

4

3 に答える 3

2

このようにして、データベースはUTF8エンコーディングでデータを返します(挿入/更新する場合はそのようなデータを期待します)。サーバーからASCII以外の文字をクエリし、コンテンツを一般的にUTF8形式で、UTF8エンコーディングヘッダーを使用して表示する場合に便利です。そうしないと、壊れた文字が表示されます。

データベース内のデータが非ASCIIおよび非utf8エンコーディング/照合(キリル文字のCP-1251など)である場合、または同じデータベースに複数の照合がある場合に特に役立ちます。このようにして、すべてのデータを単一のユニバーサルエンコーディングで取得/配置し、理解し、気に入っていることを確認します:)

一般的に、それは良い習慣です。ほとんどの場合、ASCII以外の文字のデータがないことを確認できないか、挿入するデータがないことを確認できません。したがって、UTF8は最近広く受け入れられ、愛されているデータエンコーディングであるように思われるため、常にそれを行うことをお勧めします。

于 2012-09-30T21:19:52.907 に答える
0

MySQLリファレンスはこれにかなり簡潔に答えています: http ://dev.mysql.com/doc/refman/5.0/en/charset-connection.html SOの前に必ずグーグルを使ってみてください:/私はそれほど気にしませんが、多くの人が本当にそうしています。

于 2012-09-30T21:20:26.810 に答える
0

これを行うことで、UTF-8でmysqlと通信するようにphpに指示します。このコード行を実行するコストはほぼゼロです。パフォーマンスに関するデメリットはありません。これを使用せずに権限を持っている場合は、mysql設定から変更する必要があります。

次のリンクを参照してください:http: //dev.mysql.com/doc/refman/5.0/en/charset-connection.html

于 2012-09-30T21:22:17.120 に答える