I've done some poking around on the web, but couldn't find any good histories of the development of Unicode and the various encodings. In particular, I'd love to find out why the Microsoft guys (and the Java folks, etc.) chose to use wide characters (wchar_t*s or unsigned short*s) in their APIs. This broke every program on the planet and has inflicted great suffering on programmers ever since.
Where they not aware of the work that Ken Thompson and Rob Pike did with UTF-8? Did they not know that Unicode would eventually need more than 64K code points? All these things were going on around the same time so it is hard to know who knew what when. In the end we got the worst of both worlds: We got new API incompatible with all the char*s in existing programs and we didn't get a fixed width encoding.
UTF-8 is one of the most clever inventions in computer science since the hash table. There is a great story behind its invention. I'd really like to know the story about how those wide character APIs came about.