# phpman > man > PerlIO::encoding(3perl)

## NAME
    [PerlIO::encoding](https://www.chedong.com/phpMan.php/perldoc/PerlIO%3A%3Aencoding/markdown) - encoding layer

## SYNOPSIS
      use [PerlIO::encoding](https://www.chedong.com/phpMan.php/perldoc/PerlIO%3A%3Aencoding/markdown);

      open($f, "<:encoding(foo)", "infoo");
      open($f, ">:encoding(bar)", "outbar");

      use Encode qw(:fallbacks);
      $[PerlIO::encoding::fallback](https://www.chedong.com/phpMan.php/perldoc/PerlIO%3A%3Aencoding%3A%3Afallback/markdown) = FB_PERLQQ;

## DESCRIPTION
    This PerlIO layer opens a filehandle with a transparent encoding filter.

    On input, it converts the bytes expected to be in the specified character set and encoding to
    Perl string data (Unicode and Perl's internal Unicode encoding, UTF-8). On output, it converts
    Perl string data into the specified character set and encoding.

    When the layer is pushed, the current value of $[PerlIO::encoding::fallback](https://www.chedong.com/phpMan.php/perldoc/PerlIO%3A%3Aencoding%3A%3Afallback/markdown) is saved and used as
    the CHECK argument when calling the Encode methods encode() and decode().

## SEE ALSO
    open, Encode, "binmode" in perlfunc, perluniintro

