重複の可能性:
MySQLで名前utf8を設定しますか?
MySQLデータベースに接続するためのPHPを作成しています。エンコーディングをUTF8に設定する例を見てきましたmysql_query("SET NAMES utf8");
なぜこれが行われるのですか?これを行うことの利点は何ですか?また、どのような問題を回避できますか?
重複の可能性:
MySQLで名前utf8を設定しますか?
MySQLデータベースに接続するためのPHPを作成しています。エンコーディングをUTF8に設定する例を見てきましたmysql_query("SET NAMES utf8");
なぜこれが行われるのですか?これを行うことの利点は何ですか?また、どのような問題を回避できますか?
このようにして、データベースはUTF8エンコーディングでデータを返します(挿入/更新する場合はそのようなデータを期待します)。サーバーからASCII以外の文字をクエリし、コンテンツを一般的にUTF8形式で、UTF8エンコーディングヘッダーを使用して表示する場合に便利です。そうしないと、壊れた文字が表示されます。
データベース内のデータが非ASCIIおよび非utf8エンコーディング/照合(キリル文字のCP-1251など)である場合、または同じデータベースに複数の照合がある場合に特に役立ちます。このようにして、すべてのデータを単一のユニバーサルエンコーディングで取得/配置し、理解し、気に入っていることを確認します:)
一般的に、それは良い習慣です。ほとんどの場合、ASCII以外の文字のデータがないことを確認できないか、挿入するデータがないことを確認できません。したがって、UTF8は最近広く受け入れられ、愛されているデータエンコーディングであるように思われるため、常にそれを行うことをお勧めします。
MySQLリファレンスはこれにかなり簡潔に答えています: http ://dev.mysql.com/doc/refman/5.0/en/charset-connection.html SOの前に必ずグーグルを使ってみてください:/私はそれほど気にしませんが、多くの人が本当にそうしています。
これを行うことで、UTF-8でmysqlと通信するようにphpに指示します。このコード行を実行するコストはほぼゼロです。パフォーマンスに関するデメリットはありません。これを使用せずに権限を持っている場合は、mysql設定から変更する必要があります。
次のリンクを参照してください:http: //dev.mysql.com/doc/refman/5.0/en/charset-connection.html