Rumah > Java > javaTutorial > Bagaimana untuk Menjamin Pengekodan UTF-8 Sepanjang Aplikasi Web Java?

Bagaimana untuk Menjamin Pengekodan UTF-8 Sepanjang Aplikasi Web Java?

Barbara Streisand
Lepaskan: 2024-12-21 15:51:10
asal
982 orang telah melayarinya

How to Guarantee UTF-8 Encoding Throughout a Java Web Application?

Cara Memastikan Pengekodan UTF-8 dalam Aplikasi Web Java

Untuk mendayakan pengekodan UTF-8 dalam apl web Java anda, ikut langkah berikut:

1. Konfigurasikan pelayan Tomcat.xml

Tambah baris berikut untuk mendayakan pengekodan UTF-8 untuk parameter URL (GET request):

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

2. Laksanakan Penapis Set Aksara

Tentukan penapis untuk memaksa apl web mengendalikan semua permintaan dan respons sebagai UTF-8 dikodkan:

import javax.servlet.*;

public class CharsetFilter implements Filter {

    private String encoding = "UTF-8";

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain next) throws ServletException, IOException {
        request.setCharacterEncoding(encoding);
        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

Daftar penapis dalam deskriptor penggunaan:

<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

4. Tetapkan Pengekodan Halaman JSP

Tentukan pengekodan halaman 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

5. Gunakan HTML-Meta Tag

Nyatakan pengekodan yang digunakan oleh halaman HTML:

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

6. Konfigurasikan Sambungan JDBC

Nyatakan pengekodan UTF-8 untuk sambungan pangkalan data:

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

7. Cipta Jadual dengan Pengumpulan UTF-8

Pastikan semua jadual pangkalan data mempunyai pengumpulan UTF-8:

CREATE TABLE  `Users` (
    `id` int(10) unsigned NOT NULL auto_increment,
    `name` varchar(30) collate utf8_swedish_ci default NULL
    PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_swedish_ci ROW_FORMAT=DYNAMIC;
Salin selepas log masuk

8. Semak Konfigurasi Pelayan MySQL

Sahkan bahawa pelayan dikonfigurasikan untuk menggunakan UTF-8 sebagai set aksara lalai:

[client]
default-character-set=utf8

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

Nota:

Walaupun aksara Cyrillic seperti "ж" boleh dikendalikan melalui permintaan GET dengan pengekodan UTF-8, aksara seperti "ä" mungkin dikodkan dalam bahasa Latin1 (ISO-8859-1), menyebabkan ketidakkonsistenan.

Atas ialah kandungan terperinci Bagaimana untuk Menjamin Pengekodan UTF-8 Sepanjang 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