Chuyển UTF-8 khi bị sai encode

Mình có nhiều chuỗi bao gồm đủ thể loại gồm có encode Windows-1252, umlauts, accents, … Ví dụ như sau:

– アデレード㠮é…åŠ›çš„ã ªä¸˜é™µåœ°å¸¯ã «ä½ ç½®ã —ã ¦, ブラックウッドãƒ

– Räksmörgås

– Das Eszett oder Scharfes S (ß) repräsentiert den stimmlosen Klang.

– Desinfektionslösungstücher für Flächen

Giờ mình cần chuyển về UTF-8 của character tương ứng, ví dụ:

– å thành a
– ß thành S
– ö thành o
– ü thành u

Hiện tại mình đang code như này nhưng có 1 vài ký tự vẫn không chuyển được mà bị mất hoặc thành dấu hỏi chấm (?).

Vậy câu hỏi là: có cách nào làm được triệt để và chính xác không các cụ?

Chắc ai đó sẽ cần: