1

私は、Doctrine2 が Debian スクイーズ システムの Symfony2 の mysql データベースで適切に動作するようにしようとしています。DB の文字セットと照合は utf8 と utf8_general_ci に設定され、db は SQL スクリプトを読み込むことによって手動で作成されます。

テーブルの 1 つに æøå などのデンマーク語の特殊文字を入力すると、正しく表示されません。

私の parameters.yml は encoding: utf8 を設定しており、私の config.yml では doctrine の設定は次のとおりです:

doctrine:
    dbal:
        driver:   %database_driver%
        host:     %database_host%
        port:     %database_port%
        dbname:   %database_name%
        user:     %database_user%
        password: %database_password%
        charset:  UTF8

mysqlコンソールで選択を行うと、文字が正しく表示され、コントローラーの出力配列をハードコードされた値で置き換えようとすると、問題は間違いなくdoctrine2構成の何らかのエラー/バグに起因するようです. ..

これを解決する方法についての手がかりはありますか?

どうもありがとう。

4

2 に答える 2

2

わかりました、ようやくわかりました...この構成では、ある種の二重エンコーディングが行われています。doctrine dbal config から charset: UTF8 をコメントアウトすると、問題が解決します。

于 2013-04-28T20:52:26.943 に答える
0

アプリケーションの文字セットに問題がある可能性があります。config.yml にあります。

framework:
  charset:         UTF-8
  #translator:      { fallback: lt }
  #secret:          %secret%
  #other options
于 2013-04-28T09:53:17.413 に答える