Assuming that your content is not retrieved from a database, have you made sure that your server is sending out a UTF-8 header? Check the header from your server to make sure. If you are using Firefox, you can check by navigating to your page and selecting Tools -> Web Developer -> Inspector. When in the Inspector panel, click the "Network" tab, reload your page, and then click on the main file in the list and on the right side look at the "Response Headers". It should say something like "Content-Type: text/html; charset=utf-8".
You have to make sure your server is sending a UTF-8 header. I'm not sure if that is your problem, but that is the first place to look. You can test by placing this line before your echo statement:
header('Content-Type: text/html; charset=utf-8');
Also, if you are extracting data out of a database, you should run a set_charset("utf8") statement or run a "SET NAMES utf8" query after you connect to the database but before you execute any other queries.