Cross Reference: utf8.t
xref
: /
osnet-11
/
usr
/
src
/
cmd
/
perl
/
5.8.4
/
distrib
/
lib
/
CGI
/
t
/
utf8.t
Home
History
Annotate
Line#
Navigate
Download
Search
only in
./
#!perl -T
use
strict
;
use
warnings
;
use
utf8
;
use
Test
::
More
tests
=>
7
;
use
Encode
;
use_ok
(
'CGI'
)
;
ok
(
my
$q =
CGI
->
new
,
'create a new CGI object'
)
;
{
no
warnings
qw
/
once
/;
$CGI
::
PARAM_UTF8
=
1
;
}
my
$data
=
'áéíóúµ'
;
ok
Encode
::
is_utf8
(
$data
)
,
"created UTF-8 encoded data string"
;
# now set the param.
$q->
param
(
data
=>
$data
)
;
# if param() runs the data through Encode::decode(), this will fail.
is
$q->
param
(
'data'
)
,
$data
;
# make sure setting bytes decodes properly
my
$bytes
=
Encode
::
encode
(
utf8
=>
$data
)
;
ok
!
Encode
::
is_utf8
(
$bytes
)
,
"converted UTF-8 to bytes"
;
$q->
param
(
data
=>
$bytes
)
;
is
$q->
param
(
'data'
)
,
$data
;
ok
Encode
::
is_utf8
($q->
param
(
'data'
)
)
,
'param() decoded UTF-8'
;