Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengkonfigurasi Pengekodan UTF-8 dengan betul dalam Aplikasi Web Java?

Bagaimana untuk Mengkonfigurasi Pengekodan UTF-8 dengan betul dalam Aplikasi Web Java?

Patricia Arquette
Patricia Arquetteasal
2024-12-15 03:17:12404semak imbas

How to Properly Configure UTF-8 Encoding in Java Web Applications?

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

  1. Konfigurasikan server.xml untuk UTF-8 Pengekodan:

    <Connector URIEncoding="UTF-8" ... />
  2. Tambah CharacterSetFilter:

    public class CharsetFilter implements Filter {
        ...
        if (null == request.getCharacterEncoding()) {
            request.setCharacterEncoding("UTF-8");
        }
        ...
    }
  3. 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

  1. Konfigurasikan Web.xml untuk JSP Pengekodan:

    <jsp-config>
        <jsp-property-group>
            <page-encoding>UTF-8</page-encoding>
        </jsp-property-group>
    </jsp-config>
  2. Isytihar Pengekodan Halaman dalam JSP:

    <%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
  3. Tambah Meta HTML Teg:

    <meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />

Sambungan JDBC

  1. Konfigurasikan Sumber Data JDBC dengan UTF-8 Pengekodan:

    <Resource>
        ...
        url="jdbc:mysql://...useEncoding=true&amp;characterEncoding=UTF-8"...
    </Resource>

Konfigurasi MySQL

  1. Buat UTF-8 Pangkalan Data:

    CREATE DATABASE ... CHARSET=utf8 ...
  2. Buat Jadual UTF-8:

    CREATE TABLE ... CHARSET=utf8 COLLATE=utf8_swedish_ci ...
  3. Konfigurasikan Pelayan MySQL untuk UTF-8:

    [mysql]
    default-character-set=utf8

Fungsi dan Prosedur

  1. Isytihar Fungsi dan Prosedur dengan Aksara UTF-8 Set:

    CREATE FUNCTION `pathToNode` RETURNS TEXT CHARACTER SET utf8 ...

Mengendalikan Permintaan GET

  1. Pertimbangkan Pengekodan Latin1 dalam URL:
    Penyemak imbas boleh mengekod URL dalam Latin1, yang menjejaskan GET parameter.

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:

  1. Dayakan UTF-8 dalam pelayan Tomcat.xml:

    <Connector ... URIEncoding="UTF-8" ... />
  2. 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn