シリアル化して MySql データベースに保存したい大きな php オブジェクトがあります。テーブルのエンコーディングはUTF-8
で、シリアル化されたオブジェクトのエンコーディングを保持する列もUTF-8
です。
問題は、オブジェクトがフランス語の文字を含むテキスト文字列を保持していることです。
例えば:
Merci d'avoir passé commande avec Lovre. Voici le récapitulatif de votre commande
オブジェクトをシリアル化してから再度シリアル化を解除すると、文字列が維持され、正しい形式になります。
ただし、シリアル化されたオブジェクトを MySql データベースに保存し、再度取得してからシリアル化を解除すると、文字列は次のようになります。
Merci d'avoir passé commande avec Lovre. Voici le récapitulatif de votre commande
オブジェクトをデータベースに保存すると、何か問題が発生します。
ノート:
- オブジェクトは propel ORM を使用して保存されます。
- 列タイプは
text
. - 文字列が保存され、html ファイルから読み取られます。