While this looks like it solves the problem at hand, this leads me into wondering if Piston is actually handling encodings correctly at all currently. The split in this commit removes the encoding information from content-type but wouldn't the more correct way in content-type parsing to be not only do this but also recover the encoding information to attempt to deliver response using the same encoding that was used for the request? (if supported)
That would probably be a better fix. If you are willing to provide a test case which shows a problem where the encoding is needed, I'm willing to improve my fix, otherwise, I would like this pull request to be merged and to open another ticket for this.
Actually, this is in my patch queue for too long: it fixes a bug I faced while using Transiflex, and it's feature-wise equivalent to the previous code. I'm no longer using Transiflex nor django-piston, so I have little will to do more work here. If it can close #87, that would be a good thing to me IMO.