Serve all your content as utf-8. First thing is make sure that every requested page sets
<?php
header('content-type: text/html; charset=utf-8');
This has to be done before any output at all. Even a regular white space as shown here will make it fail
<?php
header('content-type: text/html; charset=utf-8');
Then, make sure that your database returns utf-8 data. Using mySql, you'd need to read documentation for character encoding, and perhaps SET NAMES is worth mentioning.
While you're at it, you might as well make sure your db also stores data as utf-8.
Any files containing non-usascii text, such as polish characters, must also be saved as utf-8. If your editor allows you to specify wether the file should be saved with or without BOM, save it without. This is probably only an issue on MS platforms, and also depending on what editor you use.
Finally, some string functions can't be used with utf-8. For example
# 6
echo strlen('åäö');
# 3
echo mb_strlen('åäö');
I found this page by googling, and while I've only glanced at it, I believe you'll get some good information there.