s3cmd adds a default content-encoding of UTF8, which is an invalid content-encoding. It is a valid content-type. Valid content-encodings are things like gzip, deflate and identity. There is no apparent way to set no content-encoding. As a result, file created in S3 by s3cmd cannot be downloaded by programs which are strict about checking for valid content-encodings (like Cyberduck). I need to go into the S3 console, and remove the errant content-encoding before I can download a file created by s3cmd.
Never mind. This looks to be fixed in 1.5.0-beta1 from github.