Bug #18556 [Csd]: Setting locale to 'tr_TR' lowercases class names

2012-12-04 Thread jpauli
Edit report at https://bugs.php.net/bug.php?id=18556edit=1

 ID: 18556
 Updated by: jpa...@php.net
 Reported by:spud at nothingness dot org
 Summary:Setting locale to 'tr_TR' lowercases class names
 Status: Closed
 Type:   Bug
 Package:Scripting Engine problem
 Operating System:   Linux (RedHat 7.2)
 PHP Version:5CVS, 4CVS (2005-10-04)
 Assigned To:stas
 Block user comment: N
 Private report: N

 New Comment:

So, to sum things up :
The bugs has only been fixed in 5.5 branch. It mainly uses a char map to lower 
characters instead of relying on locale-aware (possibly buggy versions) 
system's 
libc.

You can find details with internal zend functions affected directly by reading 
the source, here : http://lxr.php.net/xref/PHP_TRUNK/Zend/zend_operators.c#45


Previous Comments:

[2012-09-13 19:19:14] s...@php.net

It looks like snaps is serving 5.4 under the name of php-trunk. Not sure why. 
Could you submid a website bug for that and send me the bug ID?
In the meantime you could use github: https://github.com/php/php-src just use 
the 
zip file option and you could build it from there.


[2012-09-13 15:31:04] richlv at nakts dot net

thanks for the response.

$ wget http://snaps.php.net/php-trunk-201209131330.tar.gz
$ wget http://snaps.php.net/php-trunk-201209131330.tar.bz2
$ wget http://snaps.php.net/php-trunk-201209131330.tar.xz

$ for type in gz bz2 xz; do mkdir $type; (cd $type; tar -xf 
../php-trunk-201209131330.tar.$type); done

$ grep PHP_VERSION  {bz2,gz,xz}/php-trunk-201209131330/main/php_version.h
bz2/php-trunk-201209131330/main/php_version.h:#define PHP_VERSION 5.4.8-dev
gz/php-trunk-201209131330/main/php_version.h:#define PHP_VERSION 5.4.8-dev
xz/php-trunk-201209131330/main/php_version.h:#define PHP_VERSION 5.4.8-dev

is that ok for trunk snapshots then ?


[2012-09-10 06:22:46] s...@php.net

You should be using 5.5 (or master) branch of PHP. It is not fixed in 5.4 due 
to necessities of binary APIs change which is not possible in stable version. 
Trunk does not announce itself as 5.4 but as 5.5, so there must be some 
mistake. 

However if you feel very adventurous, you can take 5.5 commit (it's marked with 
the bug #) and cherry-pick it into your 5.4 branch.


[2012-09-08 14:54:04] richlv at nakts dot net

hmm, i just tested trunk snapshot php-trunk-201209081330 which announces itself 
as 5.4.8-dev

trying to use turkish locale still fails with :
Fatal error: Class 'CInput' not found

(there's uppercase I in the name)

what am i doing wrong ?


[2012-09-08 14:25:15] richlv at nakts dot net

which version is expected to have the fix ? looking at snapshots, is it trunk 
only (thus php 5.5 or whichever will be the next version) ?

interesting bit - this bug was fixed just 9 days short of it's 10th birthday ;)
(submitted 2002-07-25, fixed 2012-07-16)




The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

https://bugs.php.net/bug.php?id=18556


-- 
Edit this bug report at https://bugs.php.net/bug.php?id=18556edit=1


Bug #18556 [Csd]: Setting locale to 'tr_TR' lowercases class names

2012-09-13 Thread stas
Edit report at https://bugs.php.net/bug.php?id=18556edit=1

 ID: 18556
 Updated by: s...@php.net
 Reported by:spud at nothingness dot org
 Summary:Setting locale to 'tr_TR' lowercases class names
 Status: Closed
 Type:   Bug
 Package:Scripting Engine problem
 Operating System:   Linux (RedHat 7.2)
 PHP Version:5CVS, 4CVS (2005-10-04)
 Assigned To:stas
 Block user comment: N
 Private report: N

 New Comment:

It looks like snaps is serving 5.4 under the name of php-trunk. Not sure why. 
Could you submid a website bug for that and send me the bug ID?
In the meantime you could use github: https://github.com/php/php-src just use 
the 
zip file option and you could build it from there.


Previous Comments:

[2012-09-13 15:31:04] richlv at nakts dot net

thanks for the response.

$ wget http://snaps.php.net/php-trunk-201209131330.tar.gz
$ wget http://snaps.php.net/php-trunk-201209131330.tar.bz2
$ wget http://snaps.php.net/php-trunk-201209131330.tar.xz

$ for type in gz bz2 xz; do mkdir $type; (cd $type; tar -xf 
../php-trunk-201209131330.tar.$type); done

$ grep PHP_VERSION  {bz2,gz,xz}/php-trunk-201209131330/main/php_version.h
bz2/php-trunk-201209131330/main/php_version.h:#define PHP_VERSION 5.4.8-dev
gz/php-trunk-201209131330/main/php_version.h:#define PHP_VERSION 5.4.8-dev
xz/php-trunk-201209131330/main/php_version.h:#define PHP_VERSION 5.4.8-dev

is that ok for trunk snapshots then ?


[2012-09-10 06:22:46] s...@php.net

You should be using 5.5 (or master) branch of PHP. It is not fixed in 5.4 due 
to necessities of binary APIs change which is not possible in stable version. 
Trunk does not announce itself as 5.4 but as 5.5, so there must be some 
mistake. 

However if you feel very adventurous, you can take 5.5 commit (it's marked with 
the bug #) and cherry-pick it into your 5.4 branch.


[2012-09-08 14:54:04] richlv at nakts dot net

hmm, i just tested trunk snapshot php-trunk-201209081330 which announces itself 
as 5.4.8-dev

trying to use turkish locale still fails with :
Fatal error: Class 'CInput' not found

(there's uppercase I in the name)

what am i doing wrong ?


[2012-09-08 14:25:15] richlv at nakts dot net

which version is expected to have the fix ? looking at snapshots, is it trunk 
only (thus php 5.5 or whichever will be the next version) ?

interesting bit - this bug was fixed just 9 days short of it's 10th birthday ;)
(submitted 2002-07-25, fixed 2012-07-16)


[2012-07-16 14:21:36] me at ollieread dot com

I don't know how helpful this will be, but I've recently had an issue with the 
Turkish locale where I work.

I tried lots of different methods, but the main issue seems to be with 
LC_CTYPE, 
as although class/method declarations include I, it's added to the stack as i.

I've wrote a couple of fixes that hopefully approach all cases, be warned, they 
are however a bit hacky.

http://codeosaur.us/2012/07/16/php-and-the-tr_tr-utf8-locale/

You can simple explicitly set LC_CTYPE to your native language(eg en_US.utf8), 
but if you absolutely must have tr_TR.utf8 there, then you can use the magic of 
__autoload(), __call() and class_alias to handle it for you.

Hope this helps.




The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

https://bugs.php.net/bug.php?id=18556


-- 
Edit this bug report at https://bugs.php.net/bug.php?id=18556edit=1


Bug #18556 [Csd]: Setting locale to 'tr_TR' lowercases class names

2012-09-10 Thread stas
Edit report at https://bugs.php.net/bug.php?id=18556edit=1

 ID: 18556
 Updated by: s...@php.net
 Reported by:spud at nothingness dot org
 Summary:Setting locale to 'tr_TR' lowercases class names
 Status: Closed
 Type:   Bug
 Package:Scripting Engine problem
 Operating System:   Linux (RedHat 7.2)
 PHP Version:5CVS, 4CVS (2005-10-04)
 Assigned To:stas
 Block user comment: N
 Private report: N

 New Comment:

You should be using 5.5 (or master) branch of PHP. It is not fixed in 5.4 due 
to necessities of binary APIs change which is not possible in stable version. 
Trunk does not announce itself as 5.4 but as 5.5, so there must be some 
mistake. 

However if you feel very adventurous, you can take 5.5 commit (it's marked with 
the bug #) and cherry-pick it into your 5.4 branch.


Previous Comments:

[2012-09-08 14:54:04] richlv at nakts dot net

hmm, i just tested trunk snapshot php-trunk-201209081330 which announces itself 
as 5.4.8-dev

trying to use turkish locale still fails with :
Fatal error: Class 'CInput' not found

(there's uppercase I in the name)

what am i doing wrong ?


[2012-09-08 14:25:15] richlv at nakts dot net

which version is expected to have the fix ? looking at snapshots, is it trunk 
only (thus php 5.5 or whichever will be the next version) ?

interesting bit - this bug was fixed just 9 days short of it's 10th birthday ;)
(submitted 2002-07-25, fixed 2012-07-16)


[2012-07-16 14:21:36] me at ollieread dot com

I don't know how helpful this will be, but I've recently had an issue with the 
Turkish locale where I work.

I tried lots of different methods, but the main issue seems to be with 
LC_CTYPE, 
as although class/method declarations include I, it's added to the stack as i.

I've wrote a couple of fixes that hopefully approach all cases, be warned, they 
are however a bit hacky.

http://codeosaur.us/2012/07/16/php-and-the-tr_tr-utf8-locale/

You can simple explicitly set LC_CTYPE to your native language(eg en_US.utf8), 
but if you absolutely must have tr_TR.utf8 there, then you can use the magic of 
__autoload(), __call() and class_alias to handle it for you.

Hope this helps.


[2012-07-14 22:59:37] s...@php.net

This bug has been fixed in SVN.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.

 For Windows:

http://windows.php.net/snapshots/
 
Thank you for the report, and for helping us make PHP better.

Fixed in master.


[2012-07-04 08:52:28] maar...@php.net

@ stormbyte, I just made 2 separate more explicit tests, one for 
tr_TR.iso8859-9 and one for tr_TR.UTF-8 and they do have the same outcome:

tr_TR.iso8859-9 - http://3v4l.org/o5YCk
tr_TR.UTF-8 - http://3v4l.org/F2gEb

3v4l.org uses a 'vanilla' PHP setup, be free to play with phpinfo() and the 
likes to see for yourself.




The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

https://bugs.php.net/bug.php?id=18556


-- 
Edit this bug report at https://bugs.php.net/bug.php?id=18556edit=1