PDO および MySQL の UTF-8 エンコーディングの問題
PDO および MySQL データベースを使用する場合、ユーザーは UTF-8 が使用できない状況に遭遇する可能性があります。エンコードされたデータが正しく挿入または取得されず、疑問符 (????????) として表示されます。これは、データベース構成と PHP 設定の違いが原因で発生します。
考えられる解決策: PDO 構成経由で UTF-8 を設定する
1 つの効果的な解決策は、UTF-8 を設定することです。 PDO 接続の初期化中の文字セットと照合順序。次のコードを PDO コンストラクターに追加すると、UTF-8 エンコードが強制されます:
$pdo = new PDO( 'mysql:host=hostname;dbname=defaultDbName', 'username', 'password', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8") );
このアプローチにより、以前のデータベースや PHP の設定に関係なく、接続上で UTF-8 が明示的に有効になります。
以上がPDO と MySQL での UTF-8 エンコーディングの問題を修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。