The advice regarding mb_internal_encoding
iio7 opened this issue · 2 comments
The advice given is that:
You should use the
mb_internal_encoding()function at the top of every PHP script you write (or at the top of your global include script), and themb_http_output()function right after it if your script is outputting to a browser. Explicitly defining the encoding of your strings in every script will save you a lot of headaches down the road.
However, I feel that this is wrong. People need to setup php correctly to support UTF-8, not changing config at runtime.
Also, as documented, the default charset for PHP 5.6 and onwards is already set for "UTF-8". All the md_ options, as long as they are unset, are UTF-8.
If at all necessary to address this issue, the advice should be to make sure that the default value of default_charset is set to "UTF-8" in php.ini, and then only use mb_internal_encoding if you haven't got access to php.ini.