Chữ U-umlaut viết thường là 0xfc trong ISO 8859-1 (AKA Latin-1) nhưng 0xfc không phải là ký tự UTF-8 hợp lệ. Vấn đề là bạn có một chuỗi Latin-1 mà bạn đang cố gắng coi là UTF-8 và PostgreSQL đang phàn nàn.
Sửa nguồn dữ liệu để gửi cho bạn UTF-8 hoặc, nếu nó luôn gửi cho bạn Latin-1, hãy tự sửa mã hóa bằng những thứ như:
utf_8_string = latin_1_string.force_encoding('iso8859-1').encode('utf-8')
và sau đó làm việc với utf_8_string
phiên bản.