Re: [INTERNALS-WIN] Question about using UTF-8 encoding for server variables used by PHP

[email protected] (Johannes Schlüter)
Newsgroups php.internals.win,php.internals.win
Organization php.net
Message-ID <1264001962.2049.19.camel@guybrush>
At least REQUEST_URI should still be in the urlencoded form received
from the client. SCRIPT_FILENAME should be be filesystem encoding (it's
used exactly in that form to open the file ...) PATH_TRANSLATED probably
might be urlencoded, not sure there, maybe the RFC has some information
on this.

further encoding support is hard as the HTTP protocol doesn'tcare
encoding information for the request header and url encoding is a simple
translation of the byte values and an be applied to all binary data ...

johannes

On Tue, 2010-01-19 at 15:11 +0100, Pierre Joye wrote:
> hi Ruslan,
> 
> Btw, what are the specs you use as reference about URL encoding and
> FCGI environment variable encoding, to consider this behavior as
> correct? As far as I remember it is the role of the application to do
> this conversion, not the web server itself. I wonder if it is actually
> a good idea to do it in IIS directly.
> 
> Cheers,
> 
> 2010/1/9 Ruslan Yakushev <[email protected]>:
> > Thanks Stas and Pierre for your comments! Based on this feedback we are planning to make this change only for REQUEST_URI and for PATH_INFO and make it configurable so that if it breaks anything then users can switch back to existing behavior.
> >
> >> -----Original Message-----
> >> From: Stanislav Malyshev [mailto:[email protected]]
> >> Sent: Friday, January 08, 2010 4:04 PM
> >> To: Ruslan Yakushev
> >> Cc: 'Pierre Joye'; '[email protected]'
> >> Subject: Re: [INTERNALS-WIN] Question about using UTF-8 encoding for
> >> server variables used by PHP
> >>
> >> Hi!
> >>
> >> > If url contains non-ascii characters, e.g.
> >> > http://mysite.com/2009/10/русские-символ, then this URL results in
> >> > 404 in WordPress. WordPress uses REQUEST_URI server variable to get
> >> > the originally requested URL. Over HTTP the non-english characters
> >> > come as URL encoded, but IIS internally converts them to unicode.
> >> > Then FastCGI module converts it back to ANSI before passing them to
> >> > PHP.
> >>
> >> I think having REQUEST_URI in some salvageable form is better than
> >> getting ???'s. Also, REQUEST_URI probably won't be used by the engine
> >> directly for filename access, though may be used by application - like
> >> MVC frameworks which route actions depending on REQUEST_URL.
> >> IIRC PHP uses only SCRIPT_FILENAME and PATH_TRANSLATED from the request
> >> for filesystem access, the rest is stored but not used to find the
> >> script.
> >> --
> >> Stanislav Malyshev, Zend Software Architect
> >> [email protected]   http://www.zend.com/
> >> (408)253-8829   MSN: [email protected]
> >>
> >> --
> >> Windows Internals Mailing List (http://www.php.net/)
> >> To unsubscribe, visit: http://www.php.net/unsub.php
> >>
> >
> >
> 
> 
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.