首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Doctrine2数组类型序列化失败与一些特殊的字符?

为什么Doctrine2数组类型序列化失败与一些特殊的字符?
EN

Stack Overflow用户
提问于 2012-10-01 10:00:50
回答 1查看 1.2K关注 0票数 0

我在doctrine2上发现了数组类型的一个问题。

在我的应用程序中,我有一些来自斯洛文尼亚的用户。这些家伙有一些奇怪的字符像"čćšž“。在序列化该值并将其存储到数据库后,就会出现问题。

在此之后,我得到如下期望:注意:取消序列化(),/Applications/MAMP/htdocs/firegames.at/vendor/doctrine-dbal/lib/Doctrine/DBAL/Types/ArrayType.php第46行中的function.unserialize:偏移量为456字节的错误

因此,我发现序列化sting中的以下内容触发了期望:s:7:"Urani?"

但它应该是天王星ć。我尝试将字符串转换为utf8,但也失败了。字符不能被编码!

如果我换了它就可以了?直接使用ć,它就像预期的那样工作。同样奇怪的是,charž没有问题。这是唯一起作用的。

有谁想办法解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-03 23:52:32

您需要做的是告诉DBAL在连接到DB时执行“设置名称utf8”。这是通过将charset='utf8'参数传递给配置来完成的。您可能需要阅读文档,在这里您会发现只有在PDO MySQL和OCI (甲骨文)中才能做到这一点,但我假设您使用的是MySQL。

此外,您是否使用CHARACTER SET utf8 COLLATE utf8_slovenian_ci创建表单元格?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12671146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档