Hi,

response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fName + fileExtn, UTF8));


Actually In java 'UTF-8' encoding,
japanese charater returns 9 bytes,
english character returns 1 bytes,
'_' and '-' charcters returns 1 bytes and other encoded special characters(!,@,#,$ etc.) return 3 bytes .
As per above calculations, IE-7 supports 156 bytes & IE-6 supports 158 bytes and as per these limits, we can give a maximum
of 17 japanese characters as a file name (17*9=153).

For example;
Encoded character byte calculation :
------------------------------------------------------------------------------------------------------------------------
orginal file name : 管不合表録具理開901048登デ_カロタグータ_公できない
(japanese) 21 * 9 = 189
(numbers) 6 * 1 = 6
( _ ) 2 * 1 = 2
Total orginal file name byte size is 197 bytes. This would lead to file name getting changed on download.
-------------------------------------------------------------------------------------------------------------------------
To prevent above scenario, we give a japanese filename with lesser no. of characters.
In IE-7 we give the following file name "不具合管理表100518_カタログデータ_公開登"
(japanese) 16 * 9 = 144
(numbers) 6 * 1 = 6
( _ ) 2 * 1 = 2
Here altered file name charcter byte size is 152 bytes.So this file name shows correct file name on download. Adding even one
extra japanese character here will lead to the filename getting changed.

Advance Thanks