in reply to Conversion of Extended Characters

Actually, your problem has 2 sides. First is simple, the non-ASCII bytes from input form are encoded as %XX. This is taken care of either by simple substitute, or by CGI module or whatever.

The second side of the problem is the encoding that was used during input. In other words you have to know the correspondence between sequence of bytes and the characters. Usually this information is available from the headers. When you find this information, then interpreting sequence of bytes into character is the matter of applying appropriate conversion. If the output page uses the same encoding as the input page, then no conversion is needed. If the encodings don't match, then you can use Encode::from_to to convert the input into desired encoding for the output.