# Status of Multibyte support in PHP

- Thread: https://externals.io/message/12437
- Original archive: https://news-web.php.net/php.internals/12437
- Started by Al Baker on 2004-08-27T20:15:21+00:00
- Messages: 15
- Reply by email to internals@lists.php.net
- More for agents: search with https://externals.io/search.md?q={query} · JSON API at https://externals.io/api · documentation at https://externals.io/llms.txt

---

## #12437 — Al Baker — 2004-08-27T20:15:21+00:00

URL: https://externals.io/message/12437#12437

Hi,

I'm trying to find status on the multibyte support in PHP.  The manual
shows the functions in mbstring to be experimental and it's hard to find
evidence of how stable it really is.

Is this natively supported in PHP after 4.3.x?

Thanks,
Al

---

## #12440 — Moriyoshi Koizumi — 2004-08-27T20:52:16+00:00

URL: https://externals.io/message/12437#12440 · In reply to: #12437

Hi,


> I'm trying to find status on the multibyte support in PHP.  The manual
> shows the functions in mbstring to be experimental and it's hard to 
> find
> evidence of how stable it really is.

Which manual says that mbstring is still experimental? :) it was marked
"not experimental" two years ago.

No matter what that says, and no matter who says it's experimental,
it's been used for a fairly long time by lots of people and I've
never heard of a serious flaw / deficiency in its functionality.

There are also some alternatives that'd be worth paying attention to:

- PHP5 iconv extension
- php-i18n project led by l0t3k

 > Is this natively supported in PHP after 4.3.x?

While the extension is there, PHP doesn't yet natively supports 
multibyte
encodings in the sense that the language implementation always works 
singlebyte-wise
and doesn't automagicallytake care of these fancy characters.

Moriyoshi

---

## #12443 — Sean Coates — 2004-08-27T23:17:08+00:00

URL: https://externals.io/message/12437#12443 · In reply to: #12442

Are these functions in fact non-experimental? If so, I will remove the 
warning from the mb_* functions in the manual.

S

Al Baker wrote:
> Thanks for the confirmation.  The experimental warning appears on any of
> the individual help files for mbstring (e.g. mb_ereg).
> 

> > […]

---

## #12442 — Al Baker — 2004-08-27T23:38:47+00:00

URL: https://externals.io/message/12437#12442 · In reply to: #12440

Thanks for the confirmation.  The experimental warning appears on any of
the individual help files for mbstring (e.g. mb_ereg).

Do you know if the regular expression support lets you match alpha and
numeric content like you would normally?

Al


> Hi,
> 
> 
> > […]
> 
> Which manual says that mbstring is still experimental? :) it was marked
> "not experimental" two years ago.
> 
> No matter what that says, and no matter who says it's experimental,
> it's been used for a fairly long time by lots of people and I've
> never heard of a serious flaw / deficiency in its functionality.
> 
> There are also some alternatives that'd be worth paying attention to:
> 
> - PHP5 iconv extension
> - php-i18n project led by l0t3k
> 
> > […]
> 
> While the extension is there, PHP doesn't yet natively supports 
> multibyte
> encodings in the sense that the language implementation always works 
> singlebyte-wise
> and doesn't automagicallytake care of these fancy characters.
> 
> Moriyoshi

---

## #12444 — Moriyoshi Koizumi — 2004-08-28T11:02:03+00:00

URL: https://externals.io/message/12437#12444 · In reply to: #12442

Hi,



> Thanks for the confirmation.  The experimental warning appears on any 
> of
> the individual help files for mbstring (e.g. mb_ereg).

Hmm, warnings seem to persist in manual pages of the multibyte regular
expression functions. I'll remove them later :)

> Do you know if the regular expression support lets you match alpha and
> numeric content like you would normally?

Maybe sorts of character classes don't work as you expect, because
they lack comprehensive collation support that fully conforms to the 
Unicode
specification. It's stable I think, but actually not complete yet.

> Al

Moriyoshi

---

## #12445 — Moriyoshi Koizumi — 2004-08-28T11:03:04+00:00

URL: https://externals.io/message/12437#12445 · In reply to: #12443

> Are these functions in fact non-experimental? If so, I will remove the 
> warning from the mb_* functions in the manual.

Yep, definitely. Thanks in advance :)

Moriyoshi

---

## #12446 — Derick Rethans — 2004-08-28T12:51:06+00:00

URL: https://externals.io/message/12437#12446 · In reply to: #12442

> Thanks for the confirmation.  The experimental warning appears on any of
> the individual help files for mbstring (e.g. mb_ereg).

Can you file a "Documentation" problem for that on bugs.php.net please?

regards,
Derick

-- 
Derick Rethans
http://derickrethans.nl | http://ez.no | http://xdebug.org

---

## #12447 — Dave Barr — 2004-08-28T13:35:03+00:00

URL: https://externals.io/message/12437#12447 · In reply to: #12446

Derick Rethans wrote:
> 
> 
> 
> > […]
> 
> 
> Can you file a "Documentation" problem for that on bugs.php.net please?

Don't bother, I have fixed this in the documentation.

> regards,
> Derick

Dave

---

## #12448 — Rasmus Lerdorf — 2004-08-28T16:24:29+00:00

URL: https://externals.io/message/12437#12448 · In reply to: #12444

> Maybe sorts of character classes don't work as you expect, because
> they lack comprehensive collation support that fully conforms to the
> Unicode
> specification. It's stable I think, but actually not complete yet.

ICU has gotten a lot more modular these days, so it may be possible to
pick out smaller pieces of it to address things like this.  Last time we
looked at it some 4+ years ago, it was a huge all-or-nothing beast.  There
was also an icu extension proposed on pecl-dev recently.

-Rasmus

---

## #12453 — Mehdi Achour — 2004-08-28T20:29:55+00:00

URL: https://externals.io/message/12437#12453 · In reply to: #12452

The warning will be gone after the next build of the manual.

Mehdi

Al Baker wrote:

> So, all the mb_* functions will have the experimental removed?  I see a
> few that still have it, or is that just the mirrors not up to date yet?
> 
> Al
> 
> 
> 
> > […]

---

## #12452 — Al Baker — 2004-08-28T21:17:47+00:00

URL: https://externals.io/message/12437#12452 · In reply to: #12447

So, all the mb_* functions will have the experimental removed?  I see a
few that still have it, or is that just the mirrors not up to date yet?

Al


> Derick Rethans wrote:
> > […]
> 
> Don't bother, I have fixed this in the documentation.
> 
> > […]
> 
> Dave

---

## #12460 — Derick Rethans — 2004-08-30T06:11:04+00:00

URL: https://externals.io/message/12437#12460 · In reply to: #12452

> So, all the mb_* functions will have the experimental removed?  I see a
> few that still have it, or is that just the mirrors not up to date yet?

I'd go for the `iconv()` functions as you need to external extension for
this in PHP 5 (it's enabled by default).

Derick

-- 
Derick Rethans
http://derickrethans.nl | http://ez.no | http://xdebug.org

---

## #12464 — Adam Q — 2004-08-30T11:08:50+00:00

URL: https://externals.io/message/12437#12464 · In reply to: #12460

Actually I noticed that the Zend Engine 2 page [1] mentions 
"Internationalization" as a _new_ feature of PHP 5...
Has there been big changes to the way PHP5 handles i18n?

[1] http://www.zend.com/zend/zend-engine-summary.php

Thanks,
Adam



> 
>
> > […]
>
> I'd go for the `iconv()` functions as you need to external extension for
> this in PHP 5 (it's enabled by default).
>
> Derick
>
> -- 
> Derick Rethans
> http://derickrethans.nl | http://ez.no | http://xdebug.org

---

## #12465 — Derick Rethans — 2004-08-30T11:14:22+00:00

URL: https://externals.io/message/12437#12465 · In reply to: #12464

> Actually I noticed that the Zend Engine 2 page [1] mentions
> "Internationalization" as a _new_ feature of PHP 5...
> Has there been big changes to the way PHP5 handles i18n?
>
> [1] http://www.zend.com/zend/zend-engine-summary.php

That paragraph is utter bollocks if you ask me.

Derick

-- 
Derick Rethans
http://derickrethans.nl | http://ez.no | http://xdebug.org

---

## #12468 — Adam Maccabee Trachtenberg — 2004-08-30T14:09:36+00:00

URL: https://externals.io/message/12437#12468 · In reply to: #12465

> 
>
> > […]
>
> That paragraph is utter bollocks if you ask me.

This looks like a *really* old document. It still lists the
possibility of MI in PHP 5.

Neither MI or i18n has been added to ZE 2, and there haven't been
talks about them in months, if not years. :)

-adam

-- 
adam@trachtenberg.com
author of o'reilly's "upgrading to php 5" and "php cookbook"
avoid the holiday rush, buy your copies today!
