These two options are the worst idea PHP developers have ever come across, and they had a lot of bad ideas when it came to encodings.
To convert strings to a specific encoding, you need to know from which encoding it is converted. Incoming data is often in undeclared encoding; the server just receives some binary data, it does not know what encoding it represents. You must declare what encoding you expect from sending the browser by setting the attribute accept-charsetfor the forms; this does not guarantee that the browser will do this, nor will it force PHP to know what encoding to expect.
; PHP - -, . , PHP , .
, : , , , , mb_check_encoding ( _detect encoding , ), , , . I.e., .
, Unicode: UTF-8 Unicode , . , , , , . " UTF-8" .