【发布时间】:2011-06-06 04:23:57
【问题描述】:
我正在尝试将希腊语数据库转换为 utf8。至此,我已经弄清楚了如何做到这一点(通过 MySQL,而不是通过 iconv() 函数)但我有一个问题:应用程序以 php 序列化格式将大量数据存储在数据库中(通过 serialize()) .
您可能知道,这种格式将字符串长度存储在序列化字符串中。这意味着由于转换后长度会发生变化(因为 php5 不正确支持 Unicode),这些字符串不能再被反序列化。
到目前为止,我正在考虑使用以下方法之一来解决此问题:
- 使用 PHP 将这些字符串转换为 utf8,而不是转换整个序列化字符串,而是将其反序列化并转换数组中的每个项目。
- 编写脚本重新计算序列化字符串的长度。
选项#2 似乎更容易,但我认为必须有一种更快的方法来做到这一点。甚至可能是一个免费提供的脚本来转换它们,因为我绝对不是第一个面临这个问题的人。有什么想法吗?
提前致谢。
【问题讨论】:
标签: php serialization utf