【发布时间】:2012-02-02 08:21:34
【问题描述】:
我有一个大的 php 对象,我想将其序列化并存储在 MySql 数据库中。表编码是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 文件中读取。
【问题讨论】:
-
你文件的编码是什么?
-
您可以尝试对其进行 base_64 编码,但您不必这样做。数据库列是什么类型?你检查过php中的数据库连接设置吗?
-
@TheSilencer 数据库列类型是文本。数据库连接是使用 PROPEL 完成的。
-
@alexn 字符串存储在 html 文件中。
标签: php mysql encoding propel object-serialization