Cara Mendayakan UTF-8 dalam Aplikasi Web Java
Ikhtisar
Untuk menyokong pelbagai set aksara seperti Finland (äöå) dan Cyrillic (ЦжФ), mendayakan UTF-8 dalam web Java aplikasi adalah penting. Artikel ini menyediakan arahan langkah demi langkah untuk mengkonfigurasi Tomcat, pangkalan data dan komponen lain untuk memastikan pengendalian UTF-8 yang betul.
Konfigurasi Tomcat
Konfigurasikan server.xml untuk UTF-8 Pengekodan:
<Connector URIEncoding="UTF-8" ... />
Tambah CharacterSetFilter:
public class CharsetFilter implements Filter { ... if (null == request.getCharacterEncoding()) { request.setCharacterEncoding("UTF-8"); } ... }
Tambahkan CharsetFilter ke web.xml:
<filter> <filter-name>CharsetFilter</filter-name> <filter-class>fi.foo.filters.CharsetFilter</filter-class> ... </filter> <filter-mapping> <filter-name>CharsetFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
JSP dan HTML
Konfigurasikan Web.xml untuk JSP Pengekodan:
<jsp-config> <jsp-property-group> <page-encoding>UTF-8</page-encoding> </jsp-property-group> </jsp-config>
Isytihar Pengekodan Halaman dalam JSP:
<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
Tambah Meta HTML Teg:
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />
Sambungan JDBC
Konfigurasikan Sumber Data JDBC dengan UTF-8 Pengekodan:
<Resource> ... url="jdbc:mysql://...useEncoding=true&characterEncoding=UTF-8"... </Resource>
Konfigurasi MySQL
Buat UTF-8 Pangkalan Data:
CREATE DATABASE ... CHARSET=utf8 ...
Buat Jadual UTF-8:
CREATE TABLE ... CHARSET=utf8 COLLATE=utf8_swedish_ci ...
Konfigurasikan Pelayan MySQL untuk UTF-8:
[mysql] default-character-set=utf8
Fungsi dan Prosedur
Isytihar Fungsi dan Prosedur dengan Aksara UTF-8 Set:
CREATE FUNCTION `pathToNode` RETURNS TEXT CHARACTER SET utf8 ...
Mengendalikan Permintaan GET
Nota Penting
MySQL menyokong UTF-8 dengan aksara 3-bait. Untuk set aksara lanjutan, pertimbangkan untuk menggunakan utf8mb4 (memerlukan MySQL 5.5.3 atau lebih baru) atau lajur VARBINARY.
Tomcat dengan Apache
Jika menggunakan penyambung mod_JK Apache Tomcat:
Dayakan UTF-8 dalam pelayan Tomcat.xml:
<Connector ... URIEncoding="UTF-8" ... />
Tetapkan Apache Default Charset:
AddDefaultCharset utf-8
Atas ialah kandungan terperinci Bagaimana untuk Mengkonfigurasi Pengekodan UTF-8 dengan betul dalam Aplikasi Web Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!