Linux Commands Examples

A great documentation place for Linux commands


iconv(1), reinvented in perl

see also : iconv - locale


  piconv [-f from_encoding] [-t to_encoding] [-s string] [files...]
  piconv -l
  piconv [-C N|-c|-p]
  piconv -S scheme ...
  piconv -r encoding
  piconv -D ...
  piconv -h

add an example, a script, a trick and tips

: email address (won't be displayed)
: name

Step 2

Thanks for this example ! - It will be moderated and published shortly.

Feel free to post other examples
Oops ! There is a tiny cockup. A damn 404 cockup. Please contact the loosy team who maintains and develops this wonderful site by clicking in the mighty feedback button on the side of the page. Say what happened. Thanks!


no example yet ...

... Feel free to add your own example above to help other Linux-lovers !


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. Each option can be in short format (-f) or long (--from).
-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.


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 for a full discussion.

-C,--check N

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


Same as "-C 1".


Applies PERLQQ , HTMLCREF , XMLCREF , respectively. Try

  piconv -f utf8 -t ascii --perlqq

To see what it does.


Show usage.


Invokes debugging mode. Primarily for Encode hackers.

-S,--scheme scheme

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

Uses Encode::from_to for conversion. This is the default.


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


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 locale Encode Encode::Supported Encode::Alias PerlIO

How can this site be more helpful to YOU ?

give  feedback