ajax 는 utf-8 통신.
자바스크립트에서 post 로 넘겨야됨.
sack 사용 시.
ex)
var description = description.value;
// sack 생성.
objSack = new sack();
// set variable(post)
objSack.setVar("description", description);
이렇게 하면 되네~
그리고 받는 쪽에서는..
request.setCharacterEncoding("utf-8");
요렇게 해줘야겠징..ㅋㅋ
^^
성공~~
DB 에서 꺼내온 data 는 UTF-8 로 인코딩 되어 있다.
BufferedOutputStream outs = null;
res.reset();
String sClient = req.getHeader("User-Agent");
// DB 에서 꺼내옴.
String fileName;
byte[] fileData; // Blob
try {
fileName = java.net.URLEncoder.encode(fileName, "UTF-8");
fileName = fileName.replaceAll("\\+", " ");
if (sClient.indexOf("MSIE 5.5") > -1) {
res.setHeader("Content-Disposition", "filename=" + fileName + ";");
} else {
res.setHeader("Content-Disposition", "attachment; filename=" + fileName + ";");
}
} catch (Exception e) {}
res.setHeader("Content-Transfer-Encoding", "binary");
res.setContentType("application/octet-stream");
outs = new BufferedOutputStream(res.getOutputStream());
outs.write(fileData);
XMLHttpRequest 는 UTF-8 통신이다.
==================================
server 가 php 일때...
server file 에서..
header("content-type:text/xml; charset=utf-8");
header("Cache-Control:no-cache");
header("Pragma:no-cache");
추가한다.
client 에 response 할때 iconv 를 이용해서 euc-kr 을 utf-8 로 인코딩해서 전달한다.