【问题标题】:Symfony doctrine not returning record when there is German Umlaut in where clause.当 where 子句中有德语变音符号时,Symfony 学说不返回记录。
【发布时间】:2017-09-22 17:42:03
【问题描述】:

我的实时服务器上有一个非常奇怪的问题,我的应用程序中有一个搜索功能,它使用连接从两个表中获取结果,在本地机器上一切正常,但在实时服务器上,每当我搜索一个单词时德国元音变音,学说返回空数据集。我使用 getQuery 和 getParameters 函数打印了 SQL 查询,并将该查询直接运行到我的数据库中,这个查询也显示了正确的结果。 Collat​​ion 和 Charset 是用于 DB 表和 Symfony 连接的 UTF8。

接下来我应该检查什么?这是一个已知的教义问题吗?

Symfony 版本:3.1.0 mysql:5.6.x 教义-ORM:2.5

【问题讨论】:

    标签: php symfony doctrine


    【解决方案1】:

    您是否尝试过检查它尝试在 Web 调试工具栏中而不是 getQuery 和 getParameters 中运行的可运行查询?

    在调试工具栏中检查查询更可靠,因为您将能够检查已参数化的查询。

    【讨论】:

    • Doctrine 正在将变音符号转换为 ascii 代码。比如 WHERE (LOWER(r0_.status) LIKE 0x2562697474652077E3A4686C656E25 OR LOWER(r0_.status) IN ('bitte', 0x77E3A4686C656E) 但是当我打印 getParameters() 时,我可以看到正确的词。
    猜你喜欢
    • 2014-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-08
    • 1970-01-01
    • 2016-01-21
    • 2021-09-28
    相关资源
    最近更新 更多