Bug #6906 Updated: setting locale affects PHP code parser!
| From: | sniper@php.net | Date: | Tue, 02 Apr 2002 00:41:29 +0000 |
| Subject: | Bug #6906 Updated: setting locale affects PHP code parser! | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-3779@lists.php.net to get a copy of this message | ||
ID: 6906
Updated by: sniper@php.net
Reported By: jarmoni@poczta.fm
-Status: Open
+Status: Bogus
Bug Type: Feature/Change Request
Operating System: Windows NT 4
PHP Version: 4.0.2
New Comment:
Not a bug and there's nothing to change either.
Previous Comments:
------------------------------------------------------------------------
[2000-09-28 21:21:44] jah@php.net
From the documentation of setlocale: "If locale is zero or "0", the
locale setting
is not affected, only the current setting is returned."
------------------------------------------------------------------------
[2000-09-27 16:40:01] jarmoni@poczta.fm
Hi,
I think I've found something that appears as a bug in PHP. It
seems that
the PHP code is parsed according to the locale set in the
very code.
I came across this BUG in a project I developed recently. I
set the locale
to pl_PL (Polish) in one piece of code. In this locale the
decimal symbol
is represented by coma sign insted of dot.
In another piece of code, that was REQUIRED (ie. included
with require
instruction) it came out that I couldn't code fraction
numbers! In polish,
fraction numbers are stated with coma -- ie. for example 3,14
instead of
3.14.
The PHP parser required me to write fraction numbers with
coma (from
locale), which is already reserved as a list separator.
The walkaround I found is that you should code fractions
using the division
operation. The other (and much nicier) method would be
swiching locale, but
I haven't found the function to get the locale. So, although
there is
setlocale(), there isn't something like getlocale(). At least
as much as I
know.
If you want to recreate the bug, write the code:
setlocale("LC_ALL", "pl_PL"); // you have to have it
installed
print strval(3.14); // prints "3"
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=6906&edit=1