RFC 1738指定URL的語法,並提到我應該假定URL中的編碼字符應該放在哪個字符集中?
網址與
US-ASCII編碼字符集的圖形 可打印字符只寫了。 八位字節80-FF十六進制不是
用於US-ASCII,並且八位位組00-1F 和7F十六進制表示
控制字符;這些編碼必須是 。
但是,它並不說明這些八位字節表示的代碼集。
RFC 2396似乎嘗試和改進的情況,但:
對於 包含非ASCII字符的原始字符序列,但是,這種情況更爲 困難。如果可能存在多於一個的 [RFC2277],那麼傳輸意圖到 的八位字節序列的因特網協議表示字符序列預計將提供標識所使用的字符集的某種方式 。但是,目前在通用URI語法中沒有提供用於完成此標識的規定。一個單獨的URI可能需要一個字符集,定義一個默認字符集,或者提供一種方式來指示所使用的字符集。
預計在URI中對字符編碼的系統處理將是 ,作爲本規範的未來修改開發。
是否有任何不明確的方式讓客戶端可以確定在哪個字符集中解釋編碼的八位字節,或者服務器可以確定客戶端用於編碼的內容?
它在我看來像大多數服務器默認爲UTF-8,但這似乎是一個事實上的選擇超過了指定的一個。
URL是不具有字符編碼的不透明標識符,不透明標識符可以被視爲僅對目標主機具有含義的字符的二進制字符串。目標主機可以根據需要應用URL數據的字符集解釋。這意味着客戶端無法控制意義或字符集,也無法表達選擇,因爲URL的解釋對於服務器來說是100%。因此,要回答原始問題,您不能假定它是服務器實現特定的任何字符集,請諮詢服務器管理員。 – 2013-06-04 11:44:25