better charset handling