No, sorry, I agree that was a badly written statement where the "crippling" part didn't refer to the previous sentence. I meant that if we remove the unicode semantics switch, then we are crippling the implementation because we wouldn't be able to make the default string literal IS_UNICODE which, I think we all agree, is where we will have to eventually get to.
The question here isn't so much where we are going, but exactly how we will get there and how long that might take. In our early discussions on this stuff we did mull over this and figured we'd go ahead with the two-mode approach with the idea that PHP 6 would be the transition version where people could start off with Unicode-light (semantics off) and eventually turn them on to get ready for PHP 7 which would be all Unicode all the time. Apart from the string literals, I think setting the encoding for streams at runtime isn't that big a deal. The input encoding is a bit trickier since it happens before the script is run, but we did explore delaying the decoding until access time which again means it should be something the script can trigger at runtime which gives people the portability and BC they are aching for. -Rasmus Andrei Zmievski wrote: > Did you mean to say "can't make the default string IS_STRING"? Because > that's the only reading that makes sense given the rest of the message. > > -Andrei > > Rasmus Lerdorf wrote: >> If we get rid of the switch, then I agree that we can't make the default >> string IS_UNICODE. We would be crippling the implementation and taking >> a step backwards in terms of leading the way in Unicode adoption. The >> longterm goal for just about everyone has got to be a "Unicode >> everywhere" approach. It used to be that the Web was primarily a >> Western single-byte charset phenomena, but that hasn't been the case for >> years. All major applications out there have implemented various hacks >> to deal with these issues, some with more success than others. -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php