あるサンプルを日本語でも使えるようにできないか、調べてみました。Mojolicious::Liteにおける文字エンコーディング周りの動作を調べてみたところ、Mojolicious::Liteの内部では、文字列はあくまでPerlの内部文字列として扱われることを知りました。されたデータは、自動的に内部文字列に変換される。テンプレートデータは内部文字列として保持され、出力時にまとめて特定の文字エンコーディング(UTF-8等)に変換される。ようにして取得したデータは、その時点で内部文字列となっているし、また、データベースから取得したデータをテンプレートに埋め込むならば、内部文字列とした上で埋め込む必要がある、ということになります。すると修正はデータベース寄りということになりそうです。調べると、ORLiteが使用するDBD::SQLiteには、入出力データを内部文字列として扱うための属性(sqlite_unicode)がありました。ORLiteではその属性を使用していないようです。メソッドを上書きすることで、日本語文字列のポスト・表示にも対応することができました。オプションをサポートしたため、以下のソースも変更しました。追加しておくとよさそうです。kits@akatsukinishisu.net。