파일의 저장 인코딩 형식을 설정합니다. 일반적으로 새 프로젝트를 생성할 때 파일의 페이지 인코딩 형식은 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. 데이터 처리 중 형식.
위 6가지 형식은 원칙적으로 동일해야 하므로 문자가 깨져서는 안 됩니다. 그러나 일부 특수한 경우가 있는데, 그 중 일부는 일관성이 없으며, 예를 들어 다음과 같은 경우에는 표시가 정확합니다. 입력 내용은 표시 및 처리할 필요가 없습니다. 요청 respose 형식은 다른 형식과 일치하지 않을 수 있습니다. ps: 일반적으로 사용되는 인코딩은 ISO-8859-1, gbk, utf-8
그래서 확실한 방법은 다음과 같습니다. :
Jsp의 선언문은 네 가지 형식을 제거할 수 있으며 나머지 두 가지 형식은 리스너 메서드를 사용하여 해결할 수 있습니다.
새 리스너 만들기
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!