On Feb 20, 2014, at 2:19 PM, Dmitry L. <dim0...@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.program...@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@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/