5
4

5 に答える 5

4

私にとって有効な解決策は、小枝のドキュメント http://twig.sensiolabs.org/doc/filters/convert_encoding.htmlに従うことでした

フィルターの適用 {{ field|convert_encoding('UTF-8', ' iso-8859-1') }}

これは、正しいメタ文字セットが定義されているサブテンプレートがメイン テンプレートを継承していない場合によく発生するためです。

于 2015-05-04T11:44:23.813 に答える
1

ソース データが実際に UTF-8 でエンコードされているかどうかはわかりません。var_dump()それだけでは、コンテンツのエンコーディングを検証するには不十分です。

コンテンツをエコー/ダンプして、Firefox または Chrome でページを表示し、エンコーディングを UTF-8 に変更してから、ISO-8859-1 などに変更してみてください。UTF-8 を選択したときにコンテンツが正しく表示されない場合、そのコンテンツは UTF-8 でエンコードされていません。

  • Firefox でエンコーディングを変更するには: [表示] > [文字エンコーディング]
  • Chrome でエンコーディングを変更するには: [ツール] > [エンコーディング]
于 2012-05-17T17:50:56.867 に答える
0

同様の問題がありましたが、私の場合、問題はデータベースのエンコードの不一致でした。私にとっての解決策はutf8_encode()、最初にデータをデータベースに挿入するときに使用することでした。

私のコードからのサンプル:

// Convert file name into title of template 
$name = str_replace(array('-', '_'), ' ', basename($file, ".html"));
$name = utf8_encode($name);
于 2012-09-13T10:21:11.893 に答える
0

mb_detect_encoding($str) もエンコードを検出する方法です。

http://php.net/mb_detect_encoding

于 2013-03-21T21:51:22.793 に答える