網址的中文不是中文,這個觀念一直是我「網址中不一定要放中文」的核心邏輯,尤其在搜尋引擎中你搜尋的關鍵字跟網址中的中文編碼就不一樣了
根據 W3C 的定義URL encoding converts characters into a format that can be transmitted over the Internet. URLs can only be sent over the Internet using the ASCII character-set. Since URLs often contain characters outside the ASCII set, the URL has to be converted into a valid ASCII format. URL encoding replaces unsafe ASCII characters with a "%" followed by two hexadecimal digits. URLs cannot contain spaces. URL encoding normally replaces a space with a plus (+) sign or with %20.[1]
然後最近已經看到多次 SEO 相關文章講到網址的時候說:網址是 UTF-8 的格式。這讓我頭很痛,網址(嚴格來說 URI)的中文不是中文,也不是 UTF-8 編碼 是 UTF-8 編碼(而且還要是 16 進位編碼)過後,再經過 url encoding 的結果[2]
另外 URL encoding 的解碼,是依據「網頁編碼」是什麼還會有所變化,雖然這年頭 big5 跟 unicode 的網頁已經屬於稀世珍物,但如果是「中文」來說,網址的呈現是
- UTF-8 的網頁是 %e4%b8%ad%e6%96%87
- Big5 的網頁是 %a4%a4%a4%e5
- unicode 的網頁是 %u4e2d%u6587
參考資料
留言
張貼留言