dê uma olhada este thread (e use a pesquisa antes de postar uma pergunta primeiro).
no seu caso, acho que você esqueceu de definir o charset correto para sua conexão de banco de dados (usando um
SET NAMES
instrução ou mysql_set_charset()
) - mas isso é difícil de dizer. esta é uma citação de chazomaticus , que deu uma resposta perfeita no tópico curtido, listando todos os pontos que você precisa cuidar:
note que você não precisa usar utf-8 - a parte importante é usar o mesmo charset em todos os lugares , independente de qual conjunto de caracteres possa ser. mas se você precisar alterar as coisas de qualquer maneira, use utf-8.