Java 웹 앱에서 UTF-8 인코딩 가져오기
문제: 비라틴어를 지원하기 위해 UTF-8 인코딩 구현 텍스트 및 특정 문자 Alphabets.
환경:
- 개발: Windows XP
- 프로덕션: Debian
- 데이터베이스: MySQL 5.x
- 브라우저: Firefox2, Opera 9.x, FF3, IE7, Google Chrome
해결책:
-
Tomcat의 server.xml 구성:
- GET에 대해 UTF-8 인코딩 활성화 매개변수:
-
CharsetFilter:
- Force 모든 요청과 응답을 처리하는 Java 앱 UTF-8.
-
web.xml에 이 필터를 추가합니다:
<filter>
<filter-name>CharsetFilter</filter-name>
<filter-class>fi.foo.filters.CharsetFilter</filter-class>
<init-param>
<param-name>requestEncoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharsetFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
로그인 후 복사
-
JSP 페이지 인코딩:
- JSP 페이지의 인코딩 지정 web.xml에서 또는 각 페이지에 다음 메타 태그를 추가합니다:
-
JDBC 연결:
- ?useEncoding=true&characterEncoding 사용 =UTF-8 연결 중 URL.
-
MySQL 데이터베이스 및 테이블:
- 기본 문자 SET=utf8을 사용하여 데이터베이스 및 테이블 생성 COLLATE=utf8_swedish_ci.
-
MySQL 서버 구성:
- my.ini에 default-character-set=utf8 설정 (Windows) 또는 my.cnf (Linux).
-
MySQL 프로시저 및 함수:
- UTF-8 문자 집합을 명시적으로 지정합니다. 예:
함수 만들기 ... 텍스트 문자 집합을 반환합니다. utf8
GET 요청 처리:
- 기본적으로 URL은 Latin1로 인코딩되어 ASCII가 아닌 경우 문제가 발생합니다.
- 이 문제를 해결하려면 server.xml에서 URL 인코딩을 다음과 같이 정의하세요. UTF-8.
- 메타 태그와 요청 헤더를 사용하여 브라우저에 UTF-8 페이지를 읽도록 지시합니다.
GET 요청에서 UTF-8과 Latin1 비교:
- POST 요청은 UTF-8로 인코딩됩니다. 브라우저.
- GET 요청의 경우 페이지가 UTF-8로 정의되어 있지만 일부 문자는 여전히 Latin1로 인코딩될 수 있습니다. 이로 인해 인코딩이 혼합되어 웹앱이 요청 매개변수를 올바르게 처리하기 어렵게 됩니다.
참고 자료:
- http://tagunov.tripod.com/i18n/i18n.html
- http://wiki.apache.org/tomcat/Tomcat/UTF-8
- http://java.sun.com/developer/technicalArticles/Intl/HT TPCharset/
- http://dev.mysql.com/doc/refman/5.0/en/charset-syntax.html
- http://cagan327.blogspot.com/2006/05 /utf-8-encoding-fix-tomcat-jsp-etc.html
- http://cagan327.blogspot.com/2006/05/utf-8-encoding-fix-for-mysql-tomcat.html
- http://jeppesn.dk/utf- 8.html
- http://www.nabble.com/request-para meters-mishandle-utf-8-encoding-td18720039.html
- http://www.utoronto.ca/webdocs/HTMLdocs/NewHTML/iso_table.html
- http://www. utf8-chartable.de/
위 내용은 Java 웹 애플리케이션에서 UTF-8 인코딩을 올바르게 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!