Woolamaloo ... the OS X application and the Automator actions ... send UTF-8 whenever they send a web services request. There is no way for you to change the encoding.
When Woolamaloo gets a reply from Apple, it passes the XML to Apple's Cocoa XML utility classes. These interpret the data based on the encoding specified in the returned XML. I'm going by memory here, but I would be shocked if Apple were saying anything other than UTF-8 is being returned to us.
Because of the way UTF-8 operates, I'm basically on the same page as Dave ("ramen"). The brilliance of UTF-8 is that something encoded as UTF-8 can, for the most part, still be treated as a C string and held in a "char \[\]" style array. Many ANSI C string routines, like "strcat()", work on UTF-8 strings because they're just a bag of non-zero bytes terminated by a zero-byte. But therein also lies the danger ... it's entirely possible to interpret a UTF-8 string as a legal ASCII string. In a case like that, a two-byte encoding of a character would be interpreted as two distinct characters. This is likely what's going on in deep, dark places within iTunes, possibly way outside the iTunes U realm in the store. 🙂 In other words, we send UTF-8 to Apple's iTunes U team, they get it and pass it to "the store" ... and the store does something funkified behind the scenes, misinterpreting UTF-8 as ASCII somewhere along the line. Any results are returned to us as UTF-8 by the iTunes U gang ... but it's too late ... a two-byte character encoding has been transformed into two, one-byte, characters.
In the case of Java ... and, again, going by memory ... all characters are two bytes long. Still, the "right thing" is almost certainly happening in Dave's jar. When Dave gets data back from Apple, he's likely saying, "Interpret this data using the encoding specified in the XML and save it to Java's native character representation."
Just to round out the discussion, .NET uses UTF-16 as its native character encoding for strings. But, again, whenever moving data from one encoding to another, you can say "interpret XML as UTF-8 when saving to native UTF-16."