跳到主要內容

發表文章

目前顯示的是 10月, 2022的文章

網址的中文不是中文,更不是 UTF-8

  網址的中文不是中文,這個觀念一直是我「網址中不一定要放中文」的核心邏輯,尤其在搜尋引擎中你搜尋的關鍵字跟網址中的中文編碼就不一樣了 根據 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  為什麼要強調 URI (也可以說 URL 啦)呢?因為「網域的中文也不是中文」而那更是另外一種編碼了... 參考資料 https://www.w3schools.com/tags/ref_urlencode.ASP   https://zh.wikipedia