2011-10-31 7 views
0

私はSymfony 1.4でウェブアプリケーションを作成しており、その文字エンコーディングはutf-8(デフォルト)に設定されています。それは大丈夫ですが、状況によっては文字エンコーディングをs-jisに変更したいと思います。symfonyのレイアウトhtmlエンコーディングを変更しました

私はモジュール(action.class.php)で、以下のコードで試してみましたが、それが正常に動作しません:

if('some situation') 
{ 

    $context = $this->getContext(); 
    $response = $context->getResponse(); 
    $response->setContentType('application/xhtml+xml; charset=Shift_JIS'); 
    mb_internal_encoding('SJIS-win'); 
    mb_http_output('SJIS-win'); 
} 

誰かがtemporaly SJISに文字エンコーディングを変更する方法を知っていますか?

ありがとうございます!

答えて

2

あなたは、私が今まで答えることができなかったあなたのactions.class.php

$this->getResponse()->initialize(new sfEventDispatcher(), array('charset' => '<something>')); 
+0

ありがとうございますが、私はsymfony throught srFilterクラスでそれを行う方法を得ました。 – Kane

+1

誰もが勉強できるようにここに答えを入れてください - 私も;) – samura

0

の先頭でこれを試すことができます。そこに行く。

sfFilterクラスから継承するクラスを使用する必要があります。

  1. はアプリで新しいクラスファイルを置き/フロントエンド/ libに

  2. アプリケーションに新しいクラスを追加/フロントエンド/設定/ filteres.ymlの

  3. の変更に、setContentTypeのエンコーディングとコンテンツ新しいクラス関数のsfResponseを返します。