2017-09-22 5 views
0

ライブサーバー上で非常に奇妙な問題が発生しています。私のアプリケーションには、ジョインを使って2つのテーブルから結果を取得する検索機能があります。ローカルマシン上では有効ですが、ドイツ語Umlaut、doctrineは空のデータセットを返します。私はgetQuery関数とgetParameters関数を使用してSQLクエリを出力し、そのクエリを直接自分のDBに実行しました。このクエリも正しい結果を示しています。照合と文字セットはDBテーブルとSymfony接続のUTF8です。where節にドイツ語Umlautがある場合、symfonyの教義はレコードを返さない。

次はどうすればよいですか?これは教義の既知の問題ですか?

symfonyのバージョン:3.1.0 のMySQL:5.6.x 教義-ORM:2.5

答えて

0

は、あなたはそれが代わりにgetQueryとgetParametersのWebデバッグツールバーで実行しようとする実行可能なクエリをチェックしようとしたことがありますか?

すでにパラメータ化されているクエリを確認できるため、デバッグツールバーのクエリを確認する方が信頼性が高くなります。

+0

DoctrineはウムラウトをASCIIコードに変換しています。 WHERE(LOWER(r0_.status)LIKE 0x2562697474652077E3A4686C656E25またはLOWER(r0_.status)IN( 'bitte'、0x77E3A4686C656E)のようなものですが、getParameters()を出力すると正しい単語が表示されます。 –

関連する問題