Что ж, если данные в кодировке utf8, я думаю, что есть проблема в базе данных или в подключении к базе данных. Вот несколько советов по отладке для вас.
Наборы / сопоставления для базы данных и таблицы MySQL (из командной строки)
mysql -u [youruser] [yourdatabase] -p
mysql> SHOW CREATE DATABASE [yourdatabase];
mysql> SHOW CREATE TABLE [yourtable];
Все должно быть utf8.
Соединение с базой данных MySQL (из скрипта PHP)
$result = mysql_query("SHOW VARIABLES LIKE '%character%'");
while ($row = mysql_fetch_assoc($result))
{
error_log(print_r($row, true));
}
Здесь также должно быть все utf8.
РЕДАКТИРОВАТЬ: Ваша строка фактически кодируется дважды. Запуск простой
echo utf8_decode(utf8_decode('Värmepump'))."\n";
в PHP-файле с кодировкой ANSI выводит ожидаемый «Värmepump». Убедитесь, что вы кодируете свои данные только один раз.