>Java >Java베이스 >Java 웹 왜곡 솔루션

Java 웹 왜곡 솔루션

尚
원래의
2019-12-09 16:33:053364검색

Java 웹 왜곡 솔루션

파일의 저장 인코딩 형식을 설정합니다. 일반적으로 새 프로젝트를 생성할 때 파일의 페이지 인코딩 형식은 GBK, 저장 형식은 ANSI로 설정됩니다. , 프로젝트 및 파일의 인코딩 형식을 utf-8의 인코딩 형식으로 변경한 후에도 여전히 중국어 깨짐 문자가 나타납니다. 이는 기존 파일의 저장 인코딩 형식이 여전히 ANSI이므로 이전 파일의 저장 형식이기 때문입니다. .java 파일을 utf-8로 변경해야 합니다. 중국어 주석이 깨져도 문제가 없습니다

window-preferences-General-Content Types에서 해당 파일 형식을 선택하고 페이지 인코딩을 UTF-8로 변경한 후 클릭하세요. 업데이트.

참고:

새로운 작업 공간인 경우 Myeclipse의 인코딩 형식을 설정하는 것은 프로젝트, 파일 및 저장된 인코딩 형식을 설정하는 것과 동일합니다(jsp 및 기타 파일 제외)

이미 작업 공간이 있는 경우 및 원래 인코딩 형식이 GBK인 경우 작업 영역의 인코딩을 변경하는 것은 프로젝트 및 파일의 인코딩 형식을 설정하는 것과 동일합니다. 그러나 이전에 존재했던 .java 파일의 경우 저장 인코딩을 변경할 수 없습니다. 4) 위에서 변경하는 것이 효과적이지만 생성되는 새 파일의 저장 인코딩에 효과적입니다

문자 깨짐을 확인할 수 있는 곳

1. 저장 인코딩

2. -8 utf8과 동일합니다)

참고:

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>

3. 필터에서 처리되는 문자 인코딩은 입력 및 출력 데이터 인코딩으로 제한됩니다. 위 코드에 설정된 인코딩 형식이 페이지의 표시 형식입니다.

javaweb 프로젝트 코드에는 총 다음과 같은 형식이 있습니다.

1. 코드 저장 형식 2. 브라우저 파싱 형식 3. 데이터 입력 형식(즉, 브라우저의 파싱 형식에 따라 결정됨) 4. 데이터 처리 중 형식.

Java 웹 왜곡 솔루션

위 6가지 형식은 원칙적으로 동일해야 하므로 문자가 깨져서는 안 됩니다. 그러나 일부 특수한 경우가 있는데, 그 중 일부는 일관성이 없으며, 예를 들어 다음과 같은 경우에는 표시가 정확합니다. 입력 내용은 표시 및 처리할 필요가 없습니다. 요청 respose 형식은 다른 형식과 일치하지 않을 수 있습니다. ps: 일반적으로 사용되는 인코딩은 ISO-8859-1, gbk, utf-8

그래서 확실한 방법은 다음과 같습니다. :

Jsp의 선언문은 네 가지 형식을 제거할 수 있으며 나머지 두 가지 형식은 리스너 메서드를 사용하여 해결할 수 있습니다.

새 리스너 만들기

Java 웹 왜곡 솔루션

package com.helloweenvsfei.filter;
 
import java.io.IOException;
 
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
 
public class CharacterEncodingFilter implements Filter{
	private String characterEncoding;	
	private boolean enabled;			
 
	public void destroy() {
		// TODO Auto-generated method stub
		characterEncoding = null;	
	}
 
	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
		// TODO Auto-generated method stub
		if(enabled || characterEncoding != null){
			request.setCharacterEncoding(characterEncoding);
			
			response.setCharacterEncoding(characterEncoding);
			
		}
		chain.doFilter(request, response);
		
		
	}
 
	public void init(FilterConfig config) throws ServletException {
		// TODO Auto-generated method stub
		
		characterEncoding = config.getInitParameter("characterEncoding");
		
		enabled = "true".equalsIgnoreCase(config.getInitParameter("enabled").trim());
		
		
	}
 
}

web.

위 내용은 Java 웹 왜곡 솔루션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.