Unicode issue with Python v3.3
nagia.retsina at gmail.com
nagia.retsina at gmail.com
Sat Apr 13 10:16:28 EDT 2013
Τη Σάββατο, 13 Απριλίου 2013 1:28:07 μ.μ. UTC+3, ο χρήστης Cameron Simpson έγραψε:
> On 12Apr2013 21:50, nagia.retsina at gmail.com <nagia.retsina at gmail.com> wrote:
>
> | Ookey after that is corrected, i then tried the plain solution and i got this response back form the shell:
>
> |
>
> | Traceback (most recent call last):
>
> | File "metrites.py", line 213, in <module>
>
> | htmldata = f.read()
>
> | File "/root/.local/lib/python2.7/lib/python3.3/encodings/iso8859_7.py", line 23, in decode
>
> | return codecs.charmap_decode(input,self.errors,decoding_table)[0]
>
> | UnicodeDecodeError: 'charmap' codec can't decode byte 0xae in position 47: character maps to <undefined>
>
> |
>
> | then i switched to:
>
> |
>
> | with open('/home/nikos/www/' + page, encoding='utf-8') as f:
>
> | htmldata = f.read()
>
> |
>
> | and i got no error at all, just pure run *from the shell*!
>
>
>
> Ok, so you need to specify utf-8 to decode the file. Good.
>
>
>
> | But i get internal server error when i try to run the webpage from the browser(Chrome).
>
>
>
> That is standard for a CGI script that does not complete successfully.
>
>
>
> | So, can you tell me please where can i find the apache error log so to display here please?
>
>
>
> That depends on the install. Have a look in /var/log/apache or similar.
>
> Otherwise you need to find the httpd.conf for the apache and look
>
> for its log coniguration settings.
>
>
>
> | Apcher error_log is always better than running 'python3 metrites.py' because even if the python script has no error apache will also display more web related things?
>
>
>
> The error log is where error messages from CGI scripts go. And other error messages.
>
> It is very useful when testing CGI scripts.
>
>
>
> Of course, it's best to work out as much as possible from the command
>
> line first; you have much more direct control and access to errors
>
> there. That only gets you so far though; the environment the CGI
>
> script runs in is not the same as your command line, and some
>
> different behaviour can come from this.
>
>
>
> BTW, are you sure python3 is running your CGI script?
>
> Also, the CGI script may not be running as you, but as the apache user.
>
> In that case, it may fail if it does not has permission to access various
>
> files owned by you.
>
>
>
> Anyway, you need to see the error messages to work this out.
>
>
>
> If you can't find the error log you can divert stderr at the
>
> start of your python program:
>
>
>
> sys.stderr = open('/home/nikos/cgi.err.out', 'a')
>
>
>
> and watch that in a shell:
>
>
>
> tail -f cgi.err.out
>
>
>
> Cheers,
>
> --
>
> Cameron Simpson <cs at zip.com.au>
>
>
>
> If you 'aint falling off, you ar'nt going hard enough. - Fred Gassit
root at macgyver [/home/nikos/public_html/cgi-bin]# ls ../cgi.err.out
../cgi.err.out
root at macgyver [/home/nikos/public_html/cgi-bin]# cat ../cgi.err.out
root at macgyver [/home/nikos/public_html/cgi-bin]#
Also i have foudn the error log and i tried to view it but it was empty and then i removed it and then run the script both from shell and broswer but it didnt reappeared.
root at macgyver [/home/nikos/public_html/cgi-bin]# cat /var/log/httpd/error_log
cat: /var/log/httpd/error_log: No such file or directory
root at macgyver [/home/nikos/public_html/cgi-bin]#
Maybe its somehtign wron with my enviroment?
Should we check the Apache and CGI enviroment somehow and also make sure as you say that *I* run the CGI scripts and not user 'Apache' ?
Tell me what commands i should issues please and i will display the output to you.
Thank you Cameron, for helpimg me. Somehow the script doesnt seem to be the issue in my VPS.
More information about the Python-list
mailing list