[Catalyst] UTF8 Characters in Chained Arguments

Rod Taylor rod.taylor at gmail.com
Sat Mar 21 00:02:26 GMT 2009


I've found that URI parameters (?foo=bar) function fine but unicode
characters in Chain() arguments do not survive from one page to the
next.

Specifically, this does not work for a chain involving captured
unicode based arguments:

    $uri = $c->uri_for(
$c->controller($controller)->action_for($action), $c->req->captures );

Unicode characters get split into individual bytes.

If you reparse the path, however, it works perfectly:

  $uri = $c->uri_for(
$c->controller($controller)->action_for($action), $c->req->captures );
  $uri->path( $uri->path );

I'm using the Catalyst::Plugin::Unicode 0.8 on Catalyst 5.7015.
Nothing in the release notes indicates it may have been corrected in
newer versions and I do not have the luxury to upgrade at the moment.


Thanks,

Rod



More information about the Catalyst mailing list