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
Lepaskan: 2024-12-15 03:17:12
asal
491 orang telah melayarinya

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" ... />
    Salin selepas log masuk
  2. Tambah CharacterSetFilter:

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

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>
    Salin selepas log masuk
  2. Isytihar Pengekodan Halaman dalam JSP:

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

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

Sambungan JDBC

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

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

Konfigurasi MySQL

  1. Buat UTF-8 Pangkalan Data:

    CREATE DATABASE ... CHARSET=utf8 ...
    Salin selepas log masuk
  2. Buat Jadual UTF-8:

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

    [mysql]
    default-character-set=utf8
    Salin selepas log masuk

Fungsi dan Prosedur

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

    CREATE FUNCTION `pathToNode` RETURNS TEXT CHARACTER SET utf8 ...
    Salin selepas log masuk

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" ... />
    Salin selepas log masuk
  2. Tetapkan Apache Default Charset:

    AddDefaultCharset utf-8
    Salin selepas log masuk

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 Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan