以下の内容はhttps://yuroyoro.hatenablog.com/entry/20090409/1239242835より取得しました。


Liftでフォームから送信した日本語のデータが文字化けする場合の対応

コメントで質問を受けたんですが、Liftでフォームから送信した日本語が文字化けする場合の対応方法について書きます。
どこかに書いたと思っていたら無かったので、自分用のメモもかねて。


結論から言うと、Boot.scalaで、フォームデータのエンコードをHttpServletRequest#setCharacterEncoding(String enc)で指定する必要があります。


こんな感じです。


Boot.scala

class Boot {
  def boot {
   ...省略

   LiftRules.appendEarly(makeUtf8)
  }

  private def makeUtf8(req: HttpServletRequest): Unit = {req.setCharacterEncoding("UTF-8")}
}


LiftRules.appendEarly(makeUtf8)で makeUtf8って関数を登録してます。これで、全てのRequest処理に対してmakeUtf8が適用されて、フォームデータをUTF-8エンコードします。
Lift0.9ではこれで大丈夫でした。1.0でも問題ないでしょう。


。。。最近Liftやってないなぁ。
GAE JavaでLiftでも動かしてみるか。




以上の内容はhttps://yuroyoro.hatenablog.com/entry/20090409/1239242835より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14