Symfony2 にローカルホストでうまく動作するプロジェクトがありますが、それを外部サーバーに移動した後、問題が発生しました。
- ポーランド語の文字を含むデータベースからの結果名が表示されません
- プロファイラーでクエリをチェックしました:
- 「パラメータ」セクションには正しい文字セットがあります
- 「実行可能なクエリ」には同じパラメーターがありますが、文字セットが正しくありません
例えば:
(...)
WHERE ((((c1_.name LIKE '%�%') OR (c3_.name LIKE '%�%') OR (..)
Parameters: ['%ś%', '%ś%', (...)]
すべてのデータベース テーブルには、charset = utf8_unicode_ci があります。
config.yml で設定しました
doctrine:
dbal:
charset: UTF8
フレームワーク文字セットの設定が機能しません。
/config.php テストは次のように述べています。
RECOMMENDATIONS:
1. Install and enable a PHP accelerator like APC (highly recommended).
2. Set short_open_tag to off in php.ini*.
3. Set magic_quotes_gpc to off in php.ini*.
* Changes to the php.ini file must be done in "/usr/local/php/php.ini".
しかし残念ながら、そのサーバーの php.ini にアクセスできません。magic_quotes_gpc がその問題を引き起こした可能性はありますか? コマンド ラインにもアクセスできないので、プロジェクト (データベース、ファイル システム、ベンダー) を ftp および phpmyadmin 経由で追加しました。
ローカルホストに問題がないため、それはサーバー構成に問題があると思います。サーバー構成にアクセスできないため、クエリビルダーの文字セット構成を変更するしか方法がありません。どこでそれを行うことができますか? 他に何がその問題を引き起こす可能性があるか知っていますか?
ありがとう