in reply to Decode umlauts on CGI-parameters

The encoding that gets sent by the browser to the server depends on the encoding of your web page and the browser. Ideally, you have both, a Content-Type: header specifying the character set and a <meta http-equiv="content-type" content="text/html; charset=utf-8"> element in your HTML.

Note that in my experience, at least Internet Explorer (6) does not send the value of an <input> button but only the name (I think).

Replies are listed 'Best First'.
Re^2: Decode umlauts on CGI-parameters
by Yaerox (Scribe) on Jul 16, 2015 at 08:33 UTC
    I got <meta charset="UTF-8"> on every element.

    Update: Ahh okay, I thought maybe I should try setting this for my output once too, and if I do use

    print "Content-type: text/html\n\n"; print "<html><head><meta charset=\"UTF-8\"></head>"; print "p_sAction: #" . $p_sAction . "#<br>";

    The output is right. But like I said, this script won't print anything. I think I forgot an important thing: I got some comparism on this script like the following
    if ( $p_sAction eq $aText{'1460'} ){ } else { }

    And this doesn't match. $aText is coming out of my DB where I save data uri-escaped, and return it unescaped.


    Update 2:
    # Benutzer löschen print "#$p_sAction# eq #$aText{'1530'}#<br>"; if ( $p_sAction eq $aText{'1530'} ){ print "HELLO WORLD<br>"; }
    Output: #Benutzer löschen# eq #Benutzer löschen#