기본 설정 인 Tomcat 7과 java 관련 utf-8을 사용하도록 구성되었습니다.Tomcat의 JspWriter가 올바르게 인코딩되지 않았습니다.
<%@ page language="java" pageEncoding="utf-8" contentType="text/html; charset=utf-8"%>
<%@ page import="java.net.*" %>
<%@ page import="java.io.*" %>
<%
URL target = new URL("http://en.wikipedia.org/wiki/Main_Page");
Reader input = new BufferedReader(new InputStreamReader(target.openStream()));
StringWriter buffer = new StringWriter();
char[] chrs = new char[1024 * 4];
int n = 0;
while (-1 != (n = input.read(chrs)))
{
buffer.write(chrs, 0, n);
}
StringReader reader = new StringReader(buffer.toString());
n = 0;
while (-1 != (n = reader.read(chrs)))
{
out.write(chrs, 0, n);
}
%>
이는 않지만, 로그 IllegalStateExceptions :
이 작동하지 않습니다 (UTF-8 문자가 엉망이다)
<%@ page language="java" pageEncoding="utf-8" contentType="text/html; charset=utf-8"%>
<%@ page import="java.net.*" %>
<%@ page import="java.io.*" %>
<%
URL target = new URL("http://en.wikipedia.org/wiki/Main_Page");
Reader input = new BufferedReader(new InputStreamReader(target.openStream()));
StringWriter buffer = new StringWriter();
char[] chrs = new char[1024 * 4];
int n = 0;
while (-1 != (n = input.read(chrs)))
{
buffer.write(chrs, 0, n);
}
StringReader reader = new StringReader(buffer.toString());
OutputStreamWriter output = new OutputStreamWriter(response.getOutputStream());
n = 0;
while (-1 != (n = reader.read(chrs)))
{
output.write(chrs, 0, n);
}
%>
내가 찾던하지만 답을 찾을 수 없습니다. 이것은 Tomcat의 버그입니까, 아니면 제가 빠진 것이 있습니까?
이것은 데이터베이스를 포함하지 않고 문제를 전시 한 가장 간단한 예입니다. 실제 코드는 아무 것도 보이지 않습니다. – OrangeDog