2008-01-27

架站使用 UTF-8 要檢查的項目

一開始最基本的就是環境設定,Server 對於文字的編碼設定,這也是最重要的。

關於 Apache Server 的設定:
在 /etc/httpd/conf/httpd.conf(Red Hat) 或 /etc/apache2/conf.d/charset(Ubuntu) 中開啟對 UTF-8 編碼的設定:
AddDefaultCharset utf-8

關於 Mysql Server 的設定:
在使用 script 進行新增/修改時記得在 script 檔中加入:
SET NAMES 'utf8';
在 PHP 存取前也應該先宣告編碼方式:
mysql_query("SET NAMES 'UTF8'");

在建立文字欄位(TEXT, VARCHAR, ...)時也必須定義文字的編碼方式:
CHARACTER SET utf8 COLLATE utf8_unicode_ci

在編寫網頁文件時,除了要注意檔案是否使用 UTF-8 編碼外,還要記得加上編碼宣告,因為解讀器並沒有那麼聰明,沒辦法準確的辨別檔案的編碼方式,所以請一定要加上編碼宣告。

關於 HTML 文件的宣告:
<meta equiv="Content-Type" content="text/html; charset=UTF-8">

關於 XML 文件的宣告:
<?xml version="1.0" encoding="UTF-8"?>

關於 PHP 文件的宣告:
header('Content-type: text/html; charset=utf-8');

參考文章:UTF-8 checklist - soledad penadés

0 回應: