utf8_string::is_misformatted() deesn't seem to work correctly. When the string contains invalid characters, the function still returns false. I tried loading this sequence: http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-test.txt
And the utf8_string tells me it's not misformatted.