久しぶりにToscaWidgetsを使ってみたよはまった部分をメモToscaWidgetsでフォームに値を設定するときに、内部ではエンコーディング指定なしでunicodeコンストラクタを呼んでいる。これは、makoでもgenshiでも同じっぽい。sys.getdefaultencoding()はasciiになっているわけで、マルチバイト文字を含む通常文字列を渡すと、エンコードエラーになる。ユニコード文字列を渡せば回避できる。フォームの内容はリクエストから取り出している。今使ってるのはwebobだが、このRequestオブジェクトのparamsは、リクエストのcontent-typeに文字コードが設定されていないと、通常文字列になってしまうので、取り出す前にcharsetアトリビュートをutf-8にしてあげればOK。