Hi Makoto,

The specification is pretty clear that unicode.semantics=off means binary strings. But the specification leaves the possibility open that, if you set unicode.script_encoding (or the encoding pragma) and the unicode.runtime_encoding to different encodings, the PHP runtime would convert the string literals from one encoding in your source files to a different encoding in the runtime. The strings would still be binary at runtime, but a different byte sequence than in the source file. Such a behavior could be seen as compatible with PHP 5 because the default settings for unicode.script_encoding and unicode.runtime_encoding are both UTF-8.

I would guess that the team hasn't thought of that interpretation, that they really mean it when they say "if unicode.semantics is off, PHP behaves as it did in the past," and that unicode.script_encoding and the encoding pragma are totally ignored if unicode.semantics is off. But it would be good to clarify this in the specification.

Regards,
Norbert


On Feb 8, 2007, at 16:14 , Makoto Tozawa wrote:

Hello,

When the unicode.semantics=off, in what encoding will the PHP 6 engine create Zval IS_STRING for the string literals?
I can think of two possibilities.

1. PHP 6 does the same as PHP 5 because unicode.semantics=off means backwards compatibility. Thus they are binary data. 2. PHP 6 respects the unicode.script_encoding (or the encoding pragma) and the unicode.runtime_encoding. Thus they are in unicode.runtime_encoding.

Thank you,
Makoto

--
PHP Unicode & I18N Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


-------------------------------------
Norbert Lindenberg
Yahoo! Internationalization Architect

--
PHP Unicode & I18N Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to