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

Bagaimana untuk Melaksanakan Pengekodan UTF-8 dengan Benar dalam Aplikasi Web Java?

Barbara Streisand
Lepaskan: 2024-12-29 20:56:10
asal
296 orang telah melayarinya

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

Cara Melaksanakan UTF-8 dalam Aplikasi Web Java

Memahami Masalah

UTF -8 pengekodan adalah penting untuk menyokong aksara antarabangsa, termasuk abjad khas seperti Finland dan Cyrillic, dalam web Java aplikasi.

Membuat Penyelesaian

Untuk menyelesaikan isu ini, ikut langkah berikut:

1. Konfigurasikan pelayan Tomcat.xml:

Konfigurasikan penyambung untuk mengekod parameter URL menggunakan UTF-8:

<Connector port="8080" ... URIEncoding="UTF-8"/>
Salin selepas log masuk

2. Buat CharsetFilter:

Tentukan penapis untuk memastikan semua permintaan dan respons dikendalikan dalam UTF-8:

public void doFilter(ServletRequest request, ServletResponse response, FilterChain next)
            throws IOException, ServletException {

    // Set the default character encoding
    request.setCharacterEncoding("UTF-8");
    response.setContentType("text/html; charset=UTF-8");
    response.setCharacterEncoding("UTF-8");

    next.doFilter(request, response);
}
Salin selepas log masuk

3. Tambahkan Penapis pada 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>
Salin selepas log masuk

4. Tetapkan Pengekodan Halaman JSP:

Dalam web.xml:

<jsp-config>
    <jsp-property-group>
        <url-pattern>*.jsp</url-pattern>
        <page-encoding>UTF-8</page-encoding>
    </jsp-property-group>
</jsp-config>
Salin selepas log masuk

Sebagai alternatif, dalam setiap halaman JSP:

<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
Salin selepas log masuk

5. Nyatakan Tag Meta HTML:

Pastikan pelayar memahami pengekodan halaman HTML:

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

6. Konfigurasikan Sambungan JDBC:

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

7. Sediakan Pangkalan Data dan Jadual MySQL:

Buat pangkalan data dan jadual menggunakan UTF-8:

CREATE DATABASE `ID_development` ... COLLATE utf8_swedish_ci;

CREATE TABLE `Users` ... COLLATE utf8_swedish_ci;
Salin selepas log masuk

8. Konfigurasikan Pelayan MySQL:

Dalam my.ini atau my.cnf, tetapkan set aksara lalai:

[client]
default-character-set=utf8

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

9. Kodkan Permintaan GET Dengan Betul:

Diarahkan oleh Tomcat, penyemak imbas harus mengekod parameter permintaan GET dalam UTF-8.

Latin1 dan UTF-8 dalam Permintaan GET:

HTTP lalai kepada Latin1 untuk pengekodan URL, menghasilkan pengekodan yang berbeza untuk beberapa aksara seperti "ä." Ini menimbulkan cabaran untuk permintaan pengendalian aplikasi web.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Pengekodan UTF-8 dengan Benar dalam Aplikasi Web Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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