Ако всеки ä/å/ö е представен в изхода с два байта, тогава е възможно също така да кодирате двойно символите. (Като се има предвид, че въпросът вече показва, че правите $dbh->{'mysql_enable_utf8'} = 1;
, подозирам, че това е най-вероятният случай.) Друга възможност, като се има предвид, че го показвате на уеб страница, е, че страницата може да не указва, че наборът от знаци е UTF-8 в своя <head>
и браузърът може да отгатва неправилно кодирането на знаци, което използва.
Погледнете отблизо рамката на вашето уеб приложение, системата за шаблони и т.н., за да се уверите, че стойностите се кодират само веднъж между момента, когато бъдат извлечени от базата данни и когато достигнат до браузъра на потребителя. Много фреймворки/шаблони (като комбинацията от Dancer и TT, които обикновено използвам) ще обработват изходното кодиране автоматично, ако ги конфигурирате правилно, което означава, че данните ще бъдат двойно кодирани, ако са изрично кодирани преди да бъдат изведени.