ID:               44945
 Updated by:       [EMAIL PROTECTED]
 Reported By:      thomas dot jarosch at intra2net dot com
-Status:           Open
+Status:           Bogus
 Bug Type:         Strings related
 Operating System: Linux
 PHP Version:      5.2.6
 New Comment:

There's no automatic way. If you need to have it work with utf-8 of
course you have to set the locales properly too. Or just not use UTF-8..


Previous Comments:
------------------------------------------------------------------------

[2008-05-08 12:59:36] thomas dot jarosch at intra2net dot com

Thanks, that seems to work.

I've inspected the environment on the server and it contains a 
LANG="en_US.UTF-8" variable. Is there a way I can fix this/PHP 
autodetects it without touching every code using escapeshellarg()?

------------------------------------------------------------------------

[2008-05-08 11:28:25] [EMAIL PROTECTED]

Try with the code below (mandatory in the test):

if (false == setlocale(LC_CTYPE, "UTF8", "en_US.UTF-8")) {
        die("skip setlocale() failed\n");
}

------------------------------------------------------------------------

[2008-05-08 11:08:27] thomas dot jarosch at intra2net dot com

Description:
------------
Hello together,

I'm seeing almost the same issue as #44564
after upgrading from PHP 5.2.5 to 5.2.6.

If I execute the provided test code via php CLI, everything works as 
expected. Running the same code via mod_php inside Apache skips the 
UTF-8 multi-byte characters.

I've looked at the ext/standard/exec.c code a bit and checked that 
my "config.log" in both PHP build directories contains
"#define HAVE_MBLEN 1" so the call to php_mblen() should work.

Any idea what that could be?

One thing I noticed is that php_mblen() is a wrapper macro for 
mblen() or mbrlen() which features a slight difference in the return 
code (see -2 rc for details).

Thanks,
Thomas


Reproduce code:
---------------
var_dump(escapeshellarg('ä'));

Expected result:
----------------
string(2) "'ä'"

Actual result:
--------------
string(2) "''"


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=44945&edit=1

Reply via email to