最終更新:
namacha5959 2010年12月13日(月) 16:04:10履歴
Perlでサーバーを使うアプリケーションの文字化け対策。主にutf8で作成するとき用。
- ファイルが全部utf8エンコーディングになっていることを確認する
- サーバーアプリ(pmファイル)に直接マルチバイト文字を記述し、それを画面側に出す場合は、サーバーソースに「use utf8」が必要。
- サーバー、DBテーブル内は正常に処理されているのに画面側で入力した文字が化ける場合はDB接続時にエンコーディング設定が足りない可能性あり。mysql_enable_utf8 => 1,on_connect_do => ['SET NAMES utf8'] などを渡す。
- HTMLフォームが画像などをアップロードする場合(enctype="multipart/form-data"の場合)、未処理で返すと文字化けする。サーバー側で decode('utf8', $req->XXX)をパラメータごとにかけてやり、返す。
タグ
このページへのコメント
16auRV Great, thanks for sharing this blog. Really Great.