0

最近、ステージングテストサイトを最新バージョンのSymfonyにアップグレードし、ダウンロードに付属のアップグレードドキュメントの指示に従って、composerを使用してすべてのベンダーを更新しました。

すべてが正常に更新されましたが、HTMLの一部がTwigテンプレートに表示されていないことに気付きました。

現在のライブサイトと比較しましたが、文字セットの問題のようです。例として、次の値を持つドロップダウンリストがあります。

Kitchen Ducting > Ducting Kits > Ducting Kit 4” / 100mm

更新されたサイトでは、ドロップダウンリストの項目が空白で表示されていました。Twigのraw関数を使用すると、アイテムが再び表示されましたが、恐ろしい疑問符が黒いひし形で表示されていました。

Kitchen Ducting > Ducting Kits > Ducting Kit 4� / 100mm

あなたが知っておくべきことは役立つかもしれません:

  • ステージングテストサイトとライブサイトは両方とも同じサーバー上にあります。
  • httpd.confファイルに「AddDefaultCharsetutf-8」があります。
  • 私のphp.iniファイルには'default_charset="utf-8"'があります。
  • 提供されるHTMLファイルにはContent-Typeメタタグ'content= "text / html; charset=utf-8"'があります
  • 私のデータベースはInnoDBであり、デフォルトの文字セットとして「utf8」を使用し、デフォルトの照合として「utf8_general_ci」を使用しています。データベース内のすべてのテーブルもデフォルトを使用します。

UTF8を使用してBOMを調べましたが、それが問題であるかどうかを判断できませんでしたか?

4

1 に答える 1

2

サーバー上のMySql構成ファイルを編集し、(/etc/my.cnf)次を追加することで、問題を解決することができました。

skip-character-set-client-handshake
collation-server=utf8_general_ci
character-set-server=utf8

それは私のためにそれを整理しました。SymfonyへのアップグレードによってTwigまたはDoctrineで変更されたものかどうかはわかりませんが、アップグレードで何かが原因でデフォルトの文字セットが機能しなくなりました。MySQL構成に加えた変更は、常にUTF-8にフォールバックすることを意味しました。

于 2012-11-13T10:57:53.743 に答える