Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #76417

Re: Unicode in cgi-script with apache2

X-Received by 10.42.94.69 with SMTP id a5mr177087icn.29.1408262930826; Sun, 17 Aug 2014 01:08:50 -0700 (PDT)
X-Received by 10.140.36.198 with SMTP id p64mr147qgp.10.1408262930793; Sun, 17 Aug 2014 01:08:50 -0700 (PDT)
Path csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!news.glorb.com!r2no1367826igi.0!news-out.google.com!j6ni190qas.0!nntp.google.com!m5no528032qaj.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups comp.lang.python
Date Sun, 17 Aug 2014 01:08:50 -0700 (PDT)
In-Reply-To <mailman.13038.1408130249.18130.python-list@python.org>
Complaints-To groups-abuse@google.com
Injection-Info glegroupsg2000goo.googlegroups.com; posting-host=2a02:120b:c3cc:5710:99c1:3fce:d387:ff3a; posting-account=ung4FAoAAAC46zhHJ0Nsnuox7M5gDvs_
NNTP-Posting-Host 2a02:120b:c3cc:5710:99c1:3fce:d387:ff3a
References <mailman.13038.1408130249.18130.python-list@python.org>
User-Agent G2/1.0
MIME-Version 1.0
Message-ID <f183f1fc-4095-4a86-b1da-305feeffd8de@googlegroups.com> (permalink)
Subject Re: Unicode in cgi-script with apache2
From wxjmfauth@gmail.com
Injection-Date Sun, 17 Aug 2014 08:08:50 +0000
Content-Type text/plain; charset=ISO-8859-1
Content-Transfer-Encoding quoted-printable
Xref csiph.com comp.lang.python:76417

Show key headers only | View raw


Le vendredi 15 août 2014 20:10:25 UTC+2, Dominique Ramaekers a écrit :
> Hi,
> 
> 
> 
> I've got a little script:
> 
> 
> 
> #!/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)
> 
> 
> 
> I've done a hole afternoon of reading on fora and blogs, I don't have a 
> 
> solution.
> 
> 
> 
> Can anyone help me?
> 
%%%%%%%%%

Your (typical) problem is not unicode, the OS or Python.

The origin of the problem is a different nature and should
be understood "globally" in a different way.

Your job is a succession of single processes/steps,

input -> process -> output,

your are manipulating with an engine: Python. The process
may be: reading a file, sending the output to a terminal, CGI,
sending to "Apache", ...
What happens, is that the coding of the characters of the
input/output of every process is or may be different and
may lead to conflicts.
The rule of the game is to use the engine (Python, in
that case) to ensure the coding of the output matches
the coding of the input of the next process.

Schematically:

input1 -> process1 -> output1 -> [eventually "transcode"] ->
input2 -> process2 -> output2 -> ....

Attempting to find a "coding common denominator", (eg. by
tweaking the platform coding or the engine coding) may fail,
because by nature a single process may require a specific
coding, eg. utf-8 for the "Apache input", which can be different
from the coding required or used in another process.

When you say, "I read a file, display it and it just work",
it means in reality:
The coding output of the "read a file process" does correspond
to the "input coding of the display process". It works, because,
by chance, the output/input coding matches in a transparent
way.

Keep in mind, the coding of characters is a job "per se". It
is independent from any progamming language, any platform ...

jmf

Back to comp.lang.python | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

Unicode in cgi-script with apache2 Dominique Ramaekers <dominique@ramaekers-stassart.be> - 2014-08-15 20:10 +0200
  Re: Unicode in cgi-script with apache2 alister <alister.nospam.ware@ntlworld.com> - 2014-08-15 19:27 +0000
    Re: Unicode in cgi-script with apache2 Dominique Ramaekers <dominique@ramaekers-stassart.be> - 2014-08-17 00:36 +0200
      Re: Unicode in cgi-script with apache2 Denis McMahon <denismfmcmahon@gmail.com> - 2014-08-17 02:50 +0000
        Re: Unicode in cgi-script with apache2 Dominique Ramaekers <dominique@ramaekers-stassart.be> - 2014-08-17 07:32 +0200
        Re: Unicode in cgi-script with apache2 Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-08-17 17:50 +1000
          Re: Unicode in cgi-script with apache2 Dominique Ramaekers <dominique@ramaekers-stassart.be> - 2014-08-17 11:40 +0200
          Re: Unicode in cgi-script with apache2 wxjmfauth@gmail.com - 2014-08-17 03:05 -0700
          Re: Unicode in cgi-script with apache2 Peter Otten <__peter__@web.de> - 2014-08-17 13:04 +0200
          Re: Unicode in cgi-script with apache2 Dominique Ramaekers <dominique@ramaekers-stassart.be> - 2014-08-17 13:34 +0200
          Re: Unicode in cgi-script with apache2 Dominique Ramaekers <dominique@ramaekers-stassart.be> - 2014-08-17 14:02 +0200
            Re: Unicode in cgi-script with apache2 Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-08-17 23:00 +1000
              Re: Unicode in cgi-script with apache2 wxjmfauth@gmail.com - 2014-08-17 08:56 -0700
          Re: Unicode in cgi-script with apache2 Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-08-17 13:35 +0100
            Re: Unicode in cgi-script with apache2 Tony the Tiger <tony@tiger.invalid> - 2014-08-18 04:39 +0000
          Re: Unicode in cgi-script with apache2 Peter Otten <__peter__@web.de> - 2014-08-17 15:12 +0200
          Re: Unicode in cgi-script with apache2 Peter Otten <__peter__@web.de> - 2014-08-17 16:06 +0200
      Re: Unicode in cgi-script with apache2 Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-08-17 15:54 +1000
  Re: Unicode in cgi-script with apache2 John Gordon <gordon@panix.com> - 2014-08-15 19:32 +0000
    Re: Unicode in cgi-script with apache2 Dominique Ramaekers <dominique@ramaekers-stassart.be> - 2014-08-17 00:39 +0200
  Re: Unicode in cgi-script with apache2 Denis McMahon <denismfmcmahon@gmail.com> - 2014-08-16 16:40 +0000
    Re: Unicode in cgi-script with apache2 Dominique Ramaekers <dominique@ramaekers-stassart.be> - 2014-08-17 00:57 +0200
  Re: Unicode in cgi-script with apache2 wxjmfauth@gmail.com - 2014-08-17 01:08 -0700

csiph-web