0

文字 á、Á、ó、Ó、ú、Ú、í、Í、é、É が奇妙な文字として mysql DB に保存されているという問題があります。DBへの挿入にはPDOを使用しています。

奇妙なことに、WAMP 上のコンピューターにサイトのローカル コピーがあり、すべて正常に動作し、エンコードの問題はありません。違いが生じる可能性がある場合、ライブ サイトは Linux サーバー上にあります。

ローカル DB はライブ DB のコピーであるため、すべてのエンコーディングはすべてのテーブルで同じです。

PDOエンコーディングを設定しようとしました:

$pdo = new PDO('mysql:host=' . Settings::DBHostName() . ';charset=utf8;dbname=' . Settings::DBName(), Settings::DBUsername(), Settings::DBPassword() , array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION ));

他の提案はありますか?ライブ サイトではなくローカルで動作する理由がわかりません。

4

2 に答える 2

1

5.3.6 以降の PHP バージョンでは、DSN でエンコーディングを設定する必要があります。
他のすべての場合、従来の SET NAMES クエリを発行することが唯一の選択肢です。

于 2013-03-14T11:28:12.747 に答える