我正在寫一個小型的網絡應用程序,將接收和解析用戶的製表符分隔的文本文件。這些文件將通過textarea
或multipart/form-data
表單上傳。這些文件將以各種形式出現,包括亞洲等。因此,我試圖在整個應用程序中使用utf-8。完整的UTF-8符合PHP Web應用程序?
該網站是完全(據我所知)是UTF-8:
- 每個PHP文件被保存在UTF-8編碼;
- 我在
php.ini
文件中添加了default_charset = "utf-8"
; HTML標頭包含所需UTF-8提及:
header('Content-Type:text/html; charset=UTF-8'); ... <?xml version="1.0" encoding="utf-8" ?> ... <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
textarea
的形式包含accept-charset="UTF-8"
標籤。- db在utf-8中整理;
- 到db的每個連接都包含選項
1002 => 'SET NAMES utf8'
。現在
,我才發現,原來我需要設置mb_regex_encoding
爲UTF-8爲我解析函數的工作(我用mb_split()
識別&更換標籤和新線)之一,手動。所以...
我還需要做些什麼來確保我的網站始終是一勞永逸的UTF-8?特別是,有沒有其他編碼功能,我應該設置,如mb_internal_encoding()
,如果是這樣的代碼應該這樣做(例如,在index.php
文件的開始?
你看到http://stackoverflow.com/questions/1317152 – Vitamin 2012-02-23 22:12:55
@Vague - 是的,它既不提及'mb_regex_encoding'也不'mb_internal_encoding'。 – JDelage 2012-02-23 22:14:58
@JDelage:PCRE函數也可以使用UTF-8,僅供參考。不要使用'SET NAMES utf8',請看這裏:http://php.net/manual/en/mysqli.set-charset.php – hakre 2012-02-23 22:24:49