Yes.
Makoto
Tex Texin wrote:
Makoto,
ok, thanks. Now I see. You are saying that the multi-byte extension took the
opposite approach and made existing str*() byte oriented and the mb_str*()
character oriented.
So we have:
s2m) Migration from singlebyte to multibyte: change code that needs character
units to use mb*()
s2u) Migration from singlebyte to (new) Unicode: change code that needs byte
units to use new functions.
m2u) Migration from multibyte to Unicode: change str*() code that needs byte
units to use new functions and (perhaps) change mb*() functions back to str*().
ugh!
and some folks are using the multibyte extension as their current unicode
solution so that the case m2u additionally represents migration from unicode to
unicode when the php version changes.
That would bear some additional consideration.
But, in looking at the mb* doc, the str*() functions can be overloaded to use
the mb*() character semantics. If a good number of users do that, then it isn't
much consequence either way (ie it is no-win), and that puts us back to the
original proposal.
Is that right?
Tex Texin
Internationalization Architect, Yahoo! Inc.
-----Original Message-----
From: Makoto Tozawa [mailto:[EMAIL PROTECTED]
Sent: Thursday, August 25, 2005 5:30 PM
To: Tex Texin
Cc: 'Andrei Zmievski'; [EMAIL PROTECTED]; 'PHP
Developers Mailing List'
Subject: Re: [PHP-DEV] Re: PHP Unicode support design
document-keeping existing functionality
> If we don't make the functions provide reasonable behavior for
unicode, then every program needs to be rewritten to change
function names.
I agree. I asked it because the Backwards Compatibility
section states
the following:
"... the upgrade to Unicode-enabled PHP has to be transparent. This
means that the existing data types and functions must work as
they have
always done."
For those functions written for single byte encoding, the upgrade to
Unicode-enabled PHP will be transparent because the character
semantics
remains same. For those functions written for multi byte
encoding using
mb_str*() functions, it will be also transparent.
It is okay if there is no way to save those functions written
for multi
byte encoding abusing the str*() functions.
Makoto
Tex Texin wrote:
1) sorry I am compelled to change the subject so all threads
don’t look
the same.
2) It's a no-win situation. If we don't make the functions provide
reasonable behavior for unicode, then every program needs to be
rewritten to change function names. The number of places where hard
coded constants (6) are used is probably much smaller.
At least this way most code does the right thing as-is.
Also, if you don't want functions to show unicode behavior, leave
unicode off, and just convert the data to utf-8.
We do need to have functions that provide the raw byte length, so it
will be available.
Tex Texin
Internationalization Architect, Yahoo! Inc.
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php