2010-12-14 12 views
5

私は特殊文字(フレンチアクセント墓)のデータを持っています。私はPHPスクリプトと出力(印刷)で選択すると、正常に見えます。 Smartyに渡すと、文字が変更されます。私のHTMLには次の設定があります: meta http-equiv = "content-type" content = "text/html; charset = utf-8" 何が欠落しているか、Smarty:特殊文字が不要に変更される - utf8

GR、パトリック

+0

ブラウザで、表示 - >文字エンコーディング、utf-8エンコーディングを認識しますか? – Catalin

+0

サーバーがコンテンツタイプのヘッダーを送信することがあります。 HTTPヘッダーはHTMLメタタグよりも優先されます。 – rik

+0

スマートファイルをメモ帳++で開くと、右下に何が表示されますか? 「ANSI as UTF-8」が表示されます。ところで、あなたは脱走しますか?その場合、http://www.smarty.net/docsv2/en/language.modifierに従って、 '{$ var | escape: 'html': 'UTF-8'}'という2番目のパラメータを指定する必要があります。 .escape.tpl –

答えて

0

はあなたのphpファイルの先頭にこれを入れて確認してください。

// UTF-8

ヘッダ( "プラグマ:キャッシュなし"); header( 'Content-type:text/html; charset = utf-8'); UTF8符号化(オプション)

mb_detect_order(配列( 'UTF8'、 'ASCIIを'))mbstringの

//。 mb_internal_encoding( 'UTF-8'); mb_http_output( 'UTF-8'); mb_regex_encoding( 'UTF-8');