[Catalyst] utf8 on c->res-write or c->res->print

Sergey Dmitriev sergey.programmer at gmail.com
Fri Feb 21 13:23:39 GMT 2014


>
> Thank you, it works! by using Encode::encode("UTF-8", 'my text' ).
>

And just for reference, if anyone will use it, HTTP headers should be set
BEFORE calling write_fh.
e.g.
    $c->res->header( 'Cache-Control'  => 'public, max-age=600' );
    my $fh = $c->res->write_fh; # psgi writer, not filehandle

Otherwise headers will not be set.

HtH, Sergey Dmitriev
*"All that is necessary for evil to triumph is for good men to do nothing".
-- Edmund Burke*


2014-02-20 18:53 GMT+04:00 Tomas Doran <bobtfish at bobtfish.net>:

>
> On Feb 20, 2014, at 2:19 PM, Dmitry L. <dim0xff at gmail.com> wrote:
>
> >    use utf8;
>
> You shouldn't need this unless you have actual utf8 characters (rather
> than escapes) in your source code.
>
> >    my $fh = $c->res->write_fh;
> >    my $test = "\x{41f}\x{440}\x{43e}\x{431}\x{430}";
> >    utf8::encode($test);
>
> You probably actually want Encode::encode('UTF-8', $test);
>
> >    $fh->write($test);
> >
> > On 20 February 2014 17:45, Sergey Dmitriev <sergey.programmer at gmail.com>
> wrote:
> >> Hello,
> >>
> >> I'm trying to put some utf8 strings as a part of Catalyst response as
> >> follows:
> >>
>
> Right, you can't do that :)
>
> If you try to use the raw write interfaces you have to send bytes not
> characters (and so need to encode your utf8 character strings).
>
> >> $c->res->print ( ... )
> >> and
> >> $c->res->write( ... )
> >>
> >> line by line.
> >>
> >> However it dies with
> >>
> >>   Wide character in syswrite at ..... IO/Handle.pm line 474
> >>
> >> Any ideas how can utf8 be written to response?
> >>
> >> E.g. set binmode on output handle. Cannot find how.
> >> Using Catalyst Runtime 5.90042.
> >>
>
> This is not what you want to do.
>
> The handle is already binary - just you're not writing binary to it,
> you're writing characters (and perl does not know how to translate those
> characters into bytes).
>
> Cheers
> Tom
>
>
> _______________________________________________
> List: Catalyst at lists.scsys.co.uk
> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> Searchable archive:
> http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
> Dev site: http://dev.catalyst.perl.org/
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.scsys.co.uk/pipermail/catalyst/attachments/20140221/5ab69cd4/attachment.htm>


More information about the Catalyst mailing list