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
955 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!

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