|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2013-07-30 15:54 UTC] ab@php.net
-Status: Open
+Status: Analyzed
[2013-07-30 15:54 UTC] ab@php.net
[2013-08-02 16:47 UTC] ab@php.net
-Status: Analyzed
+Status: Wont fix
[2013-08-02 16:47 UTC] ab@php.net
[2014-03-27 10:18 UTC] cpuidle at gmx dot de
[2014-03-27 11:13 UTC] pajoye@php.net
[2014-03-27 12:10 UTC] cpuidle at gmx dot de
[2014-12-06 11:04 UTC] ab@php.net
[2014-12-06 11:04 UTC] ab@php.net
-Status: Wont fix
+Status: Closed
[2014-12-06 20:49 UTC] ab@php.net
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Thu Oct 30 00:00:02 2025 UTC |
Description: ------------ I am experiencing trouble setting the locale (with setlocale(LC_ALL, ...)) in my code. With PHP 5.4, it always worked as expected, with 5.5 it appears that the locale has been changed, but localeconv() is still returning old values and functions like printf('%f') do not behave as expected. I have disabled the new Opcache, but the random behaviour persisted. I can't tell when it happens and why it sometimes doesn't work. It seems (to me) that there is some kind of threading problem, as I can have the same code in different browser tabs and get different results. I am using PHP 5.5.0 VC11 TS x86 on Windows 7 x64, loaded as a module into my Apache 2.4.3, which is running as a service. Test script: --------------- <?php function test($locale, $value) { $newlocale = setlocale(LC_ALL, $locale); $conv = localeconv(); $sep = $conv['decimal_point']; printf("%s\n--------------------------\n", $newlocale); printf(" sep: %s\n", $sep); printf(" %%f: %f\n", $value); printf(" %%F: %F\n", $value); printf("date: %s\n", strftime('%x')); printf("\n"); } test('german', 3.41); test('english', 3.41); test('french', 3.41); test('german', 3.41); Expected result: ---------------- German_Germany.1252 -------------------------- sep: , %f: 3,410000 %F: 3.410000 date: 10.07.2013 English_United States.1252 -------------------------- sep: . %f: 3.410000 %F: 3.410000 date: 7/10/2013 French_France.1252 -------------------------- sep: , %f: 3,410000 %F: 3.410000 date: 10/07/2013 German_Germany.1252 -------------------------- sep: , %f: 3,410000 %F: 3.410000 date: 10.07.2013 Actual result: -------------- German_Germany.1252 -------------------------- sep: . %f: 3.410000 %F: 3.410000 date: 10.07.2013 English_United States.1252 -------------------------- sep: . %f: 3.410000 %F: 3.410000 date: 7/10/2013 French_France.1252 -------------------------- sep: . %f: 3.410000 %F: 3.410000 date: 10/07/2013 German_Germany.1252 -------------------------- sep: . %f: 3.410000 %F: 3.410000 date: 10.07.2013