I’m sorry, I’m definitely not an MySQL expert. But be aware that MySQL has extensive character set support, and it operates not only on the database level but also on the server, table and column level. I guess the character set is inherited in a logical fashion. So instead of setting it for each column, you set a default for the whole table, etc.
Also, ExpressionEngine communicates with MySQL expecting certain character sets. So if you change a particular column and index to UTF-8, EE could still be using latin1 data in WHERE clauses for that column, and then you would get unexpected key-not-found situations.
For each column that you have a problem with, you must first determine where its character set is defined, and try to reset it to the default character set for that column as used by EE. Normally I believe EE 1.x was written for latin1.
For each affected column, you must then select a collation appropriate for the column’s explicit or implicit character set. The most common Swedish collations are latin1_swedish_ci and utf8_swedish_ci. The most natural solution to your problem is to ALTER each table you have a problem with, setting the appropriate Swedish collation for the character set using the COLLATE keyword.
ALTER TABLE tbl_name
[[DEFAULT] CHARACTER SET charset_name]
[COLLATE collation_name]
Of course you can do this also on the server, database or column level if you prefer.
Read more about MySQL character set support at http://dev.mysql.com/doc/refman/5.0/en/charset.html