Problémy se znakovými sadami je často opravdu složité zjistit. V zásadě se musíte ujistit, že platí všechny následující:
- Připojení DB používá UTF-8
- tabulky DB používají UTF-8
- Jednotlivé sloupce v tabulkách DB používají UTF-8
- Data jsou ve skutečnosti uložena správně v kódování UTF-8 v databázi (často tomu tak není, pokud jste importovali ze špatných zdrojů nebo změnili řazení tabulek nebo sloupců)
- Webová stránka požaduje UTF-8
- Apache slouží UTF-8
Zde je dobrý návod, jak se s tímto seznamem vypořádat, od začátku do konce:http:/ /www.bluebox.net/news/2009/07/mysql_encoding/
Zdá se, že váš problém je konkrétně v tom, že máte dvojitě zakódované (nebo třikrát zakódované) znaky, pravděpodobně ze změny znakové sady nebo importu již zakódovaných dat s nesprávnou znakovou sadou. Ve výše uvedeném tutoriálu je celá sekce o opravě.