ぼくちん: 2006年11月アーカイブ
Jiftyの吐くHTMLはUTF-8。
% w3m -dump_head http://localhost:8888/
Content-Type: text/html; charset=utf-8
% w3m -dump_source http://localhost:8888/ | grep -i charset
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
携帯用にShift_JISを吐くには2点修正。
1点目。share/web/templates/以下の個別のテンプレートに下を記述。
ファイル自体はUTF-8。Shift_JISに変換されて吐かれる。
ヘッダと内容のエンコーディングがShift_JISになる。
<%init>
$r->content_type('text/html; charset=Shift_JIS');
</%init>
2点目。
/Library/Perl/5.8.6/auto/Jifty/web/templates/_elements/header
をカレントディレクトリのそれへコピーし編集。
HTMLのmetaダグが変更される。
あとはフォームからの入力をShift_JIS->utf8に。
Dispatcherのbeforeのタイミングだと既にutf8 flag onで格納されてしまっているから
もっと早い段階で変換するのがよい。
フォームタグにcharset=Shift_JISを含めればちゃんと解釈されてutf8になる。
具体的には以下の修正。
Jifty::Request::from_cgiを修正。
$ENV{CONTENT_TYPE} = $ENV{CONTENT_TYPE}."; charset=Shift_JIS";
のように、$ENV{CONTENT_TYPE}に付け足す。
以上で、utf8モデルをPC、携帯、両用に出来るハズ。
ソフト、OSのソフト回りの選定、どうするか。
テキストベースでの設定。(一番馴れてるFreeBSD 4-Stable)
- 一度設定してしまえば、安定動作が期待できる。
- サーバーソフトの配布元の想定する設定方法に自然と準じることになるので、トラブルも起りずらい。
- フリーウエア。
- 初心者の視座を意識した分かりやすいGUIで設定できる。
- 最近機能拡張のコミットが活発。それに付随して手元の環境ではトラブルも起きた。
- OSはCentOSが最適か。
- SAMBAなどファイル共有の設定はできない。
- シェアウエア。
- 使ったことはありません。
- フリーウエア。
- 割と玄人の視座を意識した構成のGUIで設定できる。
- RAIDの管理やSAMBAも設定できる。
- プラグインが豊富。
- 対応OSは多い。FreeBSD可。
- 活動も活発。
- 顧客用のアカウントを切って、顧客自身で設定させる機能(権限の限定)もあるが、GUIの構成がちょっと難か。
- フリーウエア。
- 2005年9月に開発開始した。
- Sun Cobalt RaQ550のソースを元にしている。
- FreeBSDのパッケージシステム、Portsからインストール可能。
- 4-Stableでは動かないっぽ。
- ぱっとみはBlueQuartzである。
さっとPodを眺め、チュートリアルを実行してみました。
UTF-8のモデルを、PC用にUTF-8、携帯用にShift_JISで使いたいのですが
簡単に実現する方法がなさそうです。