What you work for is the result of data written in one encoding, and interpreted as another. You need to make sure that you request input in the same format in which you expect it. I recommend just sticking with UTF-8 all the way if you don't need to avoid multi-byte characters, in which case you can look at ASCII forcing.
Make sure you tell PHP to use UTF-8 internally:
ini_set('default_charset', 'UTF-8');
And make sure you tell the browser that you are expecting UTF-8 encoded text, as in the headers ...
header("Content-Type:text/html; charset=UTF-8");
... and in your meta tags (html5 below) ...
<meta charset="utf-8">
, UTF-8, , , UTF-8.
, , UTF-8. , (.. - ), , , .