So are you saying that php will automatically issue setlocale() calls?
e.g.:
<?php
i18n_loc_set_default('pt_PT'); // or whatever that is called these days
//now it magically calls setlocale('pt_PT', 'pt_PT.iso8859-1', 'portuguese'); -- linux/bsd/windows

echo preg_match('/^\w+$/', "àáãçêõ"); //prints 1?
?>


Nuno,

The idea is that while internal libs will use it, PHP will do all the user-locale handling internally.


On 25-Jan-07, at 9:52 AM, Nuno Lopes wrote:

PHP needs locale insensitive strcasecmp() or your developers will continue hitting string comparison issues in Turkish and Azerbaijani. Ilia patched it in timezone parsing code. Some day other strcasecmp will pop in other
place.

Switching locale everytime you want to compare strings is a hack and not a
bug fix.

Its a solution that works. There are very few instances where such behavior is needed and in php6 it won't be relevant anyway since posix locales will not be used.

This is not true at all.. I even think this is a big misconception of PHP 6. Although this has nothing to do with the issue mentioned above, we will still need setlocale() in PHP 6 because of externals libs. Even the bundled PCRE uses locales, and that is very handful (e.g. locale-dependent '\w'). So, POSIX locales will be deprecated for string handling, date formatting and such things, but they will still be used by external libs.

Nuno

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to