I'm trying to pass UTF-8 text as an argument to a command line program using php's exec function and have been having problems. I suspect it's due to character encoding issues.
When I call locale charmap from the command line, I get: UTF-8.
But when I do:
<?php echo exec('locale charmap'); ?>
I get
ANSI_X3.4-1968
How can I change this? It's not something I want to set once -- I'll be working with different languages / encodings potentially so each call to exec() could require a different one.  But even knowing how to set it to UTF-8 once would be helpful.
Prefix the command with LANG = <language>.UTF8.
Example:
$ php -r "echo exec('LANG=\"en_US.UTF8\" locale charmap');"
UTF-8
$ php -r "echo exec('LANG=\"en_US.iso88591\" locale charmap');
ISO-8859-1
You should have the locale installed.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With