Unicode in cgi-script with apache2

Denis McMahon denismfmcmahon at gmail.com
Sat Aug 16 12:40:30 EDT 2014


On Fri, 15 Aug 2014 20:10:25 +0200, Dominique Ramaekers wrote:

> #!/usr/bin/env python3
> print("Content-Type: text/html")
> print("Cache-Control: no-cache, must-revalidate")    # HTTP/1.1
> print("Expires: Sat, 26 Jul 1997 05:00:00 GMT") # Date in the past
> print("")
> f = open("/var/www/cgi-data/index.html", "r")
> for line in f:
>      print(line,end='')
> 
> If I run the script in the terminal, it nicely prints the webpage
> 'index.html'.
> 
> If access the script through a webbrowser, apache gives an error:
> UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position
> 1791: ordinal not in range(128)

Is this a message appearing in the apache error log or in the browser? If 
it is appearing in the browser, this is probably apache passing through a 
python error message.

Is this the complete error message?

What happens when you try and access http://[server]/cgi-data/index.html 
directly in a web browser? You may need to copy the file to a different 
directory to do this depending on the apache configuration.

-- 
Denis McMahon, denismfmcmahon at gmail.com



More information about the Python-list mailing list