Re: PHP Unicode extension in PHP6
| From: | Rangel Reale | Date: | Wed, 23 May 2007 12:09:19 +0000 |
| Subject: | Re: PHP Unicode extension in PHP6 | ||
| References: | 1 2 3 4 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-29691@lists.php.net to get a copy of this message | ||
Yes, I understand why urlencode does not work with unicode, but the problem
is, when unicode is turned on, 100% of the times I need to use it, I need to
use the (binary) typecast (as normally I create my params as variables), or
create the variables as binary, all of which requires me to write PHP 6
specific code.
Would it not be possible for the function just try to convert the string do
binary itself, and issue a warning if not possible? I would of course only
use compatible strings, if I didn't, my bad.
But forcing us writing portable code for 100% incompatible source code,
where it really isn't needed... is hard for me to undestand the motives.
----- Original Message ----- From: "Johannes Schlüter" <johannes@php.net>
To: "Rangel Reale" <listas@rangelreale.com>
Cc: <internals@lists.php.net>
Sent: Tuesday, May 22, 2007 10:12 PM
Subject: Re: [PHP-DEV] PHP Unicode extension in PHP6
Hi Rangel, for PHP 6 the basic string type ist "unicode string" and most functions will accept these as primary type. But there are a few exceptions where unicode, for different reason, makes no sense. There you have to pass a binary string - an example is the mentioned urlencode(): It has to work on bytes to be reliable but it has no clue on the proper encoding so you need to tell that function "Yes the, I know about the meaning, just take this byte sequence". A good thing would be to check the archives where most reasons were posted before. johannes On Tue, 2007-05-22 at 15:16 -0300, Rangel Reale wrote:I'm also having problems with this b"string" incompatibility with older versions, I know I shouldn't need to have binary strings, but the problem is, the PHP funcions does not accept an Unicode string (urlencode), so it gives me a warning. In the future will 100% of the functions accept an unicode string? If so, then to me this should not be a problem. ----- Original Message ----- From: "Tomas Kuliavas" <tokul@users.sourceforge.net> To: "Jared Williams" <jared.williams1@ntlworld.com> Cc: <internals@lists.php.net> Sent: Tuesday, May 22, 2007 2:52 PM Subject: RE: [PHP-DEV] PHP Unicode extension in PHP6I have already said to Stefan. It is not an option. I need backwards compatibility. If older PHP versions fail with E_PARSE errors, I can't use it. I can't maintain two different library versions, because issue affect lots of functions. Currently I can only stop script execution, if unicode.semantics=on is detected. Main complain is the fact that scripts can't control mbstring.func_overload and unicode.semantics. Only script writters know, if their code depends on overloading or unicode syntax. End users might be unable to change settings in PHP_INI_PERDIR. Thanks to all for feedback. -- Tomas -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php -- Internal Virus Database is out-of-date. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.1/805 - Release Date: 15/5/2007 10:47Recent versions of PHP5, has a binary string introducer. echo strlen(b"\xC4\x85");-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php -- Internal Virus Database is out-of-date. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.1/805 - Release Date: 15/5/2007 10:47