[seam-issues] [JBoss JIRA] Created: (JBSEAM-4735) Seam attachments of Japanese text files created on Windows machines are received as corrupted files

Jeff Wexler (JIRA) jira-events at lists.jboss.org
Sun Nov 28 03:43:30 EST 2010


Seam attachments of Japanese text files created on Windows machines are received as corrupted files
---------------------------------------------------------------------------------------------------

                 Key: JBSEAM-4735
                 URL: https://jira.jboss.org/browse/JBSEAM-4735
             Project: Seam
          Issue Type: Bug
          Components: Mail
    Affects Versions: 2.2.0.GA
         Environment: Tested separately on two systems: System 1: HP Touchsmart tx2 AMD Turion X2 64-bit, 8GB memory, Ubuntu 10.04 LTS 64-bit, JBoss AS 5.1.0.GA, Eclipse Galileo and Eclipse Helios, Seam 2.2.0.GA.  System 2: Fujitsu FMV-S8235 Intel Core Duo, 4GB memory, Windows Server 2003 32-bit, Eclipse Galileo, JBoss AS 5.1.0.GA, Seam 2.2.0.GA.
            Reporter: Jeff Wexler
            Assignee: Pete Muir


If a user attaches a file that they created on a Windows native Japanese operating system, using any of the file save encoding formats for notepad (i.e., a normal Japanese text file in Windows) with Japanese text inside, then that file will be received with the Japanese text inside the text file garbled up (i.e., garbage instead of Japanese characters). However, if that same file is uploaded to a database and then downloaded to a windows native Japanese operating system machine, the Japanese text inside the text file is preserved. I needed to perform the following conversion to make a Japanese file name work for the upload/download. I list it here in case it sheds any light on addressing the bug (above).

For the Japanese name of the file:
byte[] nameSjis;
String nameISO = null;
try {
	nameSjis = attachment.getNameStr().getBytes("Shift_JIS");
	nameISO = new String(nameSjis, "ISO8859_1");
}
response.addHeader("Content-Disposition", "attachment; filename=" + nameISO);
try {
	ServletOutputStream outputStream = response.getOutputStream();
	outputStream.write(attachment.getDataBytAry());
	outputStream.flush();
	outputStream.close();
	facesContext.responseComplete();
}

Note that the following do not help with the bug (i.e., seam attachment issue):
dataBytAry.toString().getBytes("MS932");
dataBytAry.toString().getBytes("UTF8");
dataBytAry.toString().getBytes("Shift_JIS");
new String(dataBytAry, "utf-8");

Note also, in case this info helps, if I download the file to the Ubuntu machine, then I need to run the following command to convert it so that the Japanese text is viewable on Ubuntu: (for example for windows text file winText.txt):
iconv -f MS932 -t UTF-8 winText.txt -o linuxText_converted.txt

Please let me know if there is other info I can provide or other means to help with this.
Thanks

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the seam-issues mailing list