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