In regard to the location, I see what you mean but it is quite difficult to get exactly right since weather underground data is not accurate. I am having to use the GPS coordinates to geolocate the city and get the name that way. It seems a lot better than junk characters. For now, 12km seems a lot more acceptable than foreign characters.
With that said, I will see what I can do to improve the accuracy further.