# phpman > man > PICONV(1)

[PICONV(1)](https://www.chedong.com/phpMan.php/man/PICONV/1/markdown)                         Perl Programmers Reference Guide                         [PICONV(1)](https://www.chedong.com/phpMan.php/man/PICONV/1/markdown)



## NAME
       piconv -- [iconv(1)](https://www.chedong.com/phpMan.php/man/iconv/1/markdown), reinvented in perl

## SYNOPSIS
         piconv [-f from_encoding] [-t to_encoding]
                [-p|--perlqq|--htmlcref|--xmlcref] [-C N|-c] [-D] [-S scheme]
                [-s string|file...]
         piconv -l
         piconv -r encoding_alias
         piconv -h

## DESCRIPTION
       **piconv** is perl version of **iconv**, a character encoding converter widely available for various
       Unixen today.  This script was primarily a technology demonstrator for Perl 5.8.0, but you
       can use piconv in the place of iconv for virtually any case.

       piconv converts the character encoding of either STDIN or files specified in the argument and
       prints out to STDOUT.

       Here is the list of options.  Some options can be in short format (-f) or long (--from) one.

       -f,--from _from_encoding_
           Specifies the encoding you are converting from.  Unlike **iconv**, this option can be
           omitted.  In such cases, the current locale is used.

       -t,--to _to_encoding_
           Specifies the encoding you are converting to.  Unlike **iconv**, this option can be omitted.
           In such cases, the current locale is used.

           Therefore, when both -f and -t are omitted, **piconv** just acts like **cat**.

       -s,--string _string_
           uses _string_ instead of file for the source of text.

### -l,--list
           Lists all available encodings, one per line, in case-insensitive order.  Note that only
           the canonical names are listed; many aliases exist.  For example, the names are case-
           insensitive, and many standard and common aliases work, such as "latin1" for
           "ISO-8859-1", or "ibm850" instead of "cp850", or "winlatin1" for "cp1252".  See
           [Encode::Supported](https://www.chedong.com/phpMan.php/perldoc/Encode%3A%3ASupported/markdown) for a full discussion.

       -r,--resolve _encoding_alias_
           Resolve _encoding_alias_ to Encode canonical encoding name.

       -C,--check _N_
           Check the validity of the stream if _N_ = 1.  When _N_ = -1, something interesting happens
           when it encounters an invalid character.

       -c  Same as "-C 1".

### -p,--perlqq
           Transliterate characters missing in encoding to \x{HHHH} where HHHH is the hexadecimal
           Unicode code point.

### --htmlcref
           Transliterate characters missing in encoding to &#NNN; where NNN is the decimal Unicode
           code point.

### --xmlcref
           Transliterate characters missing in encoding to &#xHHHH; where HHHH is the hexadecimal
           Unicode code point.

### -h,--help
           Show usage.

### -D,--debug
           Invokes debugging mode.  Primarily for Encode hackers.

       -S,--scheme _scheme_
           Selects which scheme is to be used for conversion.  Available schemes are as follows:

           from_to
               Uses [Encode::from_to](https://www.chedong.com/phpMan.php/perldoc/Encode%3A%3Afromto/markdown) for conversion.  This is the default.

           decode_encode
               Input strings are **decode()**d then **encode()**d.  A straight two-step implementation.

           perlio
               The new perlIO layer is used.  NI-S' favorite.

               You should use this option if you are using UTF-16 and others which linefeed is not
               $/.

           Like the _-D_ option, this is also for Encode hackers.

## SEE ALSO
       [**iconv**(1)](https://www.chedong.com/phpMan.php/man/iconv/1/markdown) [**locale**(3)](https://www.chedong.com/phpMan.php/man/locale/3/markdown) Encode [Encode::Supported](https://www.chedong.com/phpMan.php/perldoc/Encode%3A%3ASupported/markdown) [Encode::Alias](https://www.chedong.com/phpMan.php/perldoc/Encode%3A%3AAlias/markdown) PerlIO



perl v5.34.0                                 2025-07-25                                    [PICONV(1)](https://www.chedong.com/phpMan.php/man/PICONV/1/markdown)
