PerlさんPerlくん
[perl][cata]Catalystでバイナリ文字を使う場合は以下の設定が必要。
最終更新:
atwikimyj
-
view
Catalystでバイナリ文字を使う場合は以下の設定が必要。
モジュールをロードする順番が重要なので確認
FillInFormより後にCharsets::Japaneseを
読み込まないとダメみたい。
読み込まないとダメみたい。
use Catalyst qw(
- Debug
FillInForm
FormValidator::Simple
Charsets::Japanese
);
DB内のデータをやり取りするときのUTF-8化処理
CPAN
http://search.cpan.org/~blblack/DBIx-Class-0.07006/lib/DBIx/Class/UTF8Columns.pm
参考
http://blog.mag2.com/m/log/0000222814/108463283.html
http://search.cpan.org/~blblack/DBIx-Class-0.07006/lib/DBIx/Class/UTF8Columns.pm
参考
http://blog.mag2.com/m/log/0000222814/108463283.html
モジュールのインストール
DBIx::Class::UTF8Columns
をインストール
をインストール
schema.pmの書き換え
- DBICのshemaのautoloaderを使っていない場合の基本形
- DBIC、shemaのautoloaderを使っている場合の基本形
schema.pmのloadcompornentにUTF8Columnsを追記する
package F4::Schema;
use strict; use base qw/DBIx::Class::Schema::Loader/; __PACKAGE__->loader_options ( relationships => 1, components => [qw( UTF8Columns )], ); 1;
これだけです。すごすぎる。
TTで作成するテキストのUTF-8化処理
- モジュールのインストール
Catalyst::View::TT::ForceUTF8
をインストール
をインストール
- View::TTの書き換え
use base 'Catalyst::View::TT::ForceUTF8';
入力フォームから入れる日本語の対応
- モジュールのインストール
Catalyst::Plugin::Unicode
をインストール
をインストール
- Myapp.pmで読み込み設定
use Catalyst qw/ ... FillInForm ... Unicode /;
というふうにFillInFormの後に入れるようにする。
これで何とかしてくれる。
FillInFormによるフォームの埋め込み
FillInFormは便利だが、UTFフラグがおかしくなるので対処。
- モジュールのインストール
http://search.cpan.org/~hide/Catalyst-Plugin-FillInForm-ForceUTF8/lib/Catalyst/Plugin/FillInForm/ForceUTF8.pm
Catalyst::Plugin::FillInForm::ForceUTF8
Catalyst::Plugin::FillInForm::ForceUTF8
- Myapp.pmで読み込み設定
use Catalyst qw/ ... FillInForm :FillInForm::ForceUTF8 ... Unicode /;