PDO と MySQL で壊れた UTF-8 エンコーディングを修正する
PHP で MySQL データベースで PDO を使用する場合、UTF-8 エンコードされたデータを挿入する多くの場合、データベース内で文字化けや疑問符が発生します。これは、特にアラビア語などの言語を扱う場合にイライラする問題になる可能性があります。
この問題を解決するには、最初から UTF-8 エンコーディングを使用するように MySQL 接続を設定します。その方法は次のとおりです:
PHP コード:
<code class="php">$pdo = new PDO( 'mysql:host=hostname;dbname=defaultDbName', 'username', 'password', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8") );</code>
警告: この解決策は PHP バージョン 5.3.5 にのみ適用されます。以下。 PHP バージョン 5.3.6 以降については、元のスレッドで提供されている代替回答を参照してください。
最初のコマンドを「SET NAMES utf8」に設定すると、PDO は接続の確立後にこのクエリをサーバーに自動的に送信します。後続のすべてのクエリで UTF-8 エンコーディングが使用されるようにします。これにより、接続を確立した後に追加の SET NAMES または SET CHARACTER SET クエリを実行する必要がなくなります。
以上がPDO と MySQL で壊れた UTF-8 エンコーディングを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。