如何在Java Web 應用程式中啟用UTF-8
概述
支援🎜>支援多樣化芬蘭語(äöå) 和西里爾語(ЦжФ) 等字符集,支持UTF-8 Java Web 應用程式至關重要。本文提供了配置 Tomcat、資料庫和其他元件以確保正確處理 UTF-8 的逐步說明。
Tomcat 設定
將 server.xml 設定為UTF-8編碼:
<Connector URIEncoding="UTF-8" ... />
新增CharsetFilter:
public class CharsetFilter implements Filter { ... if (null == request.getCharacterEncoding()) { request.setCharacterEncoding("UTF-8"); } ... }
新增CharsetFilter到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和HTML
設定Web.xml對於JSP編碼:
<jsp-config> <jsp-property-group> <page-encoding>UTF-8</page-encoding> </jsp-property-group> </jsp-config>
<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />
JDBC連線
<Resource> ... url="jdbc:mysql://...useEncoding=true&characterEncoding=UTF-8"... </Resource>
建立 UTF-8資料庫:
CREATE DATABASE ... CHARSET=utf8 ...
CREATE TABLE ... CHARSET=utf8 COLLATE=utf8_swedish_ci ...
設定 MySQL伺服器UTF-8:
[mysql] default-character-set=utf8
函數與過程
CREATE FUNCTION `pathToNode` RETURNS TEXT CHARACTER SET utf8 ...
瀏覽器可能會用Latin1 編碼URL,這會影響 GET
重要提示
MySQL 支援 3 位元組字元的 UTF-8。對於擴充字元集,請考慮使用 utf8mb4(需要 MySQL 5.5.3 或更高版本)或 VARBINARY 欄位。
Tomcat 與Apache
<Connector ... URIEncoding="UTF-8" ... />
AddDefaultCharset utf-8
以上是如何在Java Web應用程式中正確配置UTF-8編碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!