ホームページ >データベース >mysql チュートリアル >PDO と MySQL での UTF-8 エンコーディングの問題を修正するにはどうすればよいですか?

PDO と MySQL での UTF-8 エンコーディングの問題を修正するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-04 01:41:30508ブラウズ

How to Fix UTF-8 Encoding Issues with PDO and MySQL?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。