I hope that this is the right forum and that someone can help me.

I have a "Java" application (running under Tomcat/JBOSS).

From within IE7 (Internet Explorer 7) I invoke a servlet (doPost()) that in turn calls a
web service (call to web service is in doPost()).

The webservice returns a document using ISO-8895-1 encoding (the back end system
that supplies the web-service is running ISO-8895-1 and is a thrid party application
that I use).

In my servlet I convert the response to UTF-8 (JBOSS/Tomcat is using UTF-8)
before sending the response back to IE for display. (I am using an IFRAME to
display the document).

The document can be a ".doc", ".xls" or a ".pdf" file.

The filename contains a non 7 bit ascii chracter (e.g. a Swedish o").

Once the file is displayed in the IFRAME the user wants to use IE'e
FILE->SAVE AS option (with the cursor positioned in the document).

The save as dialog (of IE7) shows the correct filename (with the Swedish o)
in the case of the ".doc" document.

However, with the ".xls" and ".pdf" documents the filename shown (in the
"save as" dialog) is not correct; instead of a swedish o I get the encoded
version ("%C3%B6") in the filename.

In all instances the filename/encoding etc. are identical (it is just the
file type that changes).

I am setting the following http request headers myself:

"Content-Disposition": filename=<filename>
"Content-Type" : "application/msword" | "application/" |
I have even tried a "cache problem fix" I found via a search engine:
"Pragma": "public"
"Cache-Control": "max-age=0"

My IE7 has the latest patch: "Cumulative Security Update for Internet
Explorer (937143): MS07-045".

Any suggestions or workarounds would be very much appreciated.