0
servler를 사용하여 .txt 파일에서 THAI 문자를 다운로드 할 수 없습니다. 다운로드를 클릭하면 THAI 문자가 파일에 ???으로 표시됩니다. 생성 된 파일 형식은 UNIX이고 FILE Type은 ANSI입니다. 하지만 적절한 파일 형식, 즉 Windows와 ANSI를 비롯하여 적절한 THAI 문자를 생성해야합니다.서블릿을 통해 .TXT 파일에서 태국어 문자를 다운로드 할 수 없습니다.
문자 인코딩에 가능한 모든 조합을 사용했습니다. 다음은 파일을 다운로드 할 때 사용하는 코드입니다.
미리 감사드립니다. 내가 타이어 Charcters에서 파일을 작성하는 데 성공있어
ftp=new FTPClient();
ftp = Utilities.getFTPConnection(ftpServerIP, ftpUserName, ftpPassword);
retValue = ftp.changeWorkingDirectory(uploadRoot);
Value = ftp.retrieveFile(fileName, new FileOutputStream(downloadFile));
if (!Value)
{
throw new Exception ("Downloading of remote file "+downloadFile.getName()+" failed. ftp.retrieveFile() returned false.");
}
isSuccess = true;
}
}
catch(Exception e)
{
}
finally
{
Connection Close Code
downloadFile.exists();
}
InputStream in = null;
PrintWriter printWriter = null;
DataInputStream dataInputStream = null;
BufferedReader bufferReaderFile = null;
String strLineFromFile;
try
{
File f= new File(uploadPath+File.separator+clientCode+File.separator+fileName);
if(f.exists())
{
result=Action.SUCCESS;
response.reset();
response.setCharacterEncoding("US-ASCII");
response.setContentType("application/x-download");
response.setHeader("Cache-Control", "max-age=0");
response.setHeader("Content-Disposition","attachment;filename="+ fileName);
in = new FileInputStream(f);
dataInputStream = new DataInputStream(in);
bufferReaderFile = new BufferedReader(new InputStreamReader(dataInputStream,"US-ASCII"));
printWriter=response.getWriter();
byte[] buf = new byte[8192];
int sizeRead = 0;
while ((sizeRead = in.read(buf, 0, buf.length)) > 0)
{
outStream.write(buf,0,sizeRead);
}
while ((strLineFromFile = bufferReaderFile.readLine()) != null)
{
printWriter.println(strLineFromFile);
outStream.print("\n\r");
}
printWriter.flush();
printWriter.close();
bufferReaderFile.close();
dataInputStream.close();
in.close();
인코딩은 UTF-8이어야합니다. 둘째, FTP 클라이언트를 사용하여 수동으로 다운로드 할 때 어떻게 나타 납니까? –